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

它的工作...