0
我有一個網站運行在服務器上與PHP 5.1.6.1。PHP:圖像類型不被識別
當我嘗試上傳圖片時,出現圖片類型不受支持的錯誤消息,儘管它絕對是允許的圖片類型的派對。這裏說到我的代碼:
$imgUrl = $_POST['imgUrl'];
$imgInitW = $_POST['imgInitW'];
$imgInitH = $_POST['imgInitH'];
$imgW = $_POST['imgW'];
$imgH = $_POST['imgH'];
$imgY1 = $_POST['imgY1'];
$imgX1 = $_POST['imgX1'];
$cropW = $_POST['cropW'];
$cropH = $_POST['cropH'];
$jpeg_quality = 100;
$output_filename = "../uploads/users/croppedImg_".rand();
$what = getimagesize($imgUrl);
switch(strtolower($what['mime']))
{
case 'image/png':
$img_r = imagecreatefrompng($imgUrl);
$source_image = imagecreatefrompng($imgUrl);
$type = '.png';
break;
case 'image/jpeg':
$img_r = imagecreatefromjpeg($imgUrl);
$source_image = imagecreatefromjpeg($imgUrl);
$type = '.jpeg';
break;
case 'image/gif':
$img_r = imagecreatefromgif($imgUrl);
$source_image = imagecreatefromgif($imgUrl);
$type = '.gif';
break;
default: die('image type not supported');
}
例如,如果我要上傳一個jpg文件我得到的消息「圖像類型不支持」。
什麼是驚人的:在不同的服務器上使用PHP 5.3.29運行網站不會產生任何問題,這裏圖像上傳完美。
什麼可能是PHP不正確識別圖像類型的原因?是因爲PHP版本是5.1.6.1嗎?
沒有理由在所有仍在使用PHP 5.1?其中** 8年前**死亡。所以如果這是罪魁禍首,我會感到驚訝,但是你甚至不應該去檢查是否是這種情況,而是更新 – PeeHaa 2014-09-11 10:19:24
,你是否調試過strtolower($ what ['mime'])的輸出是什麼? getimagesize()在5.1.6和5.3.29之間改變了,這並不是不可思議的:) – 2014-09-11 10:25:43