アップロード後に台無しにされた画像を検出するにはどうすればよいですか?
私はこのようなコードを使用しています:
$imageSize = getimagesize($tmp_name);
if(!$imageSize || !in_array($imageSize['mime'], $allowMimeType)){
$this->error = 'Bad Image';
@unlink($tmp_name);
return false;
}
$tn = imagecreatetruecolor(80, 80);
switch ($imageSize['mime']){
case 'image/jpeg':
$userphoto = imagecreatefromjpeg($tmp_name);// Error 1
break;
case 'image/png':
$userphoto = imagecreatefrompng($tmp_name);// Error 1
break;
case 'image/gif':
$userphoto = imagecreatefromgif($tmp_name);// Error 1
break;
case 'image/bmp':
$userphoto = imagecreatefromwbmp($tmp_name);// Error 1
break;
default:
$this->error = 'unknown image';
@unlink($tmp_name);
return false;
break;
}
imagecopyresampled($tn, $userphoto, 0, 0, 0, 0, 80, 80, $width, $height);// Error 2
imagejpeg($tn,'images/userphoto/'.$this->username.'.jpg',100);
chmod('images/userphoto/'.$this->username.'.jpg', 0777);
@unlink($tmp_name);
USERPROFILE::updatePhotoByUsersId($this->username.'.jpg', $this->users_id);
しかし、いつか私は2つのエラータンデムを与えます、
- コメントのある行で
// Error 1
imagecreatefromwbmp()[href ='function.imagecreatefromwbmp'> function.imagecreatefromwbmp]:>'images / userphoto/4ff7db9800871.bmp'は有効なWBMPファイルではありません
imagecreatefromgif()[href ='function.imagecreatefromgif'> function.imagecreatefromgif]:>'images / usersphoto/4fe70bb390758'は有効なGIFファイルではありません
- コメントの行で
// Error 2
imagecopyresampled():指定された引数は有効な画像リソースではありません