2014-09-11 118 views
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嗎?

+5

沒有理由在所有仍在使用PHP 5.1?其中** 8年前**死亡。所以如果這是罪魁禍首,我會感到驚訝,但是你甚至不應該去檢查是否是這種情況,而是更新 – PeeHaa 2014-09-11 10:19:24

+0

,你是否調試過strtolower($ what ['mime'])的輸出是什麼? getimagesize()在5.1.6和5.3.29之間改變了,這並不是不可思議的:) – 2014-09-11 10:25:43

回答

-1
 <?php 
$imgUrl = $_GET['imgUrl']; 

$jpeg_quality = 100; 



$what = getimagesize($imgUrl); 
switch(strtolower($what['mime'])) 
{ 
    case 'image/png': 
     $img_r = imagecreatefrompng($imgUrl); 
     $source_image = imagecreatefrompng($imgUrl); 
     $type = '.png'; 
     echo "string"; 
     break; 
    case 'image/jpeg': 
     $img_r = imagecreatefromjpeg($imgUrl); 
     $source_image = imagecreatefromjpeg($imgUrl); 
     $type = '.jpeg'; 
     echo "string"; 
     break; 
    case 'image/gif': 
     $img_r = imagecreatefromgif($imgUrl); 
     $source_image = imagecreatefromgif($imgUrl); 
     $type = '.gif'; 
     echo "string"; 
     break; 
    default: die('image type not supported'); 
} 
?> 

轉到:HTTP:// localhoost〜/測試/ image.php imgUrl的= http://upload.wikimedia.org/wikipedia/commons/2/2a/Junonia_lemonias_DSF_upper_by_Kadavoor.JPG

它的工作...