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