我使用uploadify V2.1.4上传图片。上传图片后,我尝试在uploadify.php文件中创建大小为60x60和80x80的缩略图。为jpg,png,gif文件类型创建缩略图。但是当文件类型为jpeg时不会创建它。
$imgsize = getimagesize($targetFile);
switch(strtolower(substr($targetFile, -3)))
{
case "jpeg":
case "jpg":
$image = imagecreatefromjpeg($targetFile);
break;
case "png":
$image = imagecreatefrompng($targetFile);
break;
case "gif":
$image = imagecreatefromgif($targetFile);
break;
default:
exit;
break;
}
$width = 60; //New width of image
$height=60;
$src_w = $imgsize[0];
$src_h = $imgsize[1];
$picture = imagecreatetruecolor($width, $height);
imagealphablending($picture, false);
imagesavealpha($picture, true);
$bool = imagecopyresampled($picture, $image, 0, 0, 0, 0, $width, $height, $src_w, $src_h);
$image_name='';
if($bool)
{
$image_name=$newf_name;
$parts=explode('.',$newf_name);
$newf_name=$parts[0]."_90X90.".$parts[1];
switch(strtolower(substr($targetFile, -3)))
{
case "jpeg":
case "jpg":
header("Content-Type: image/jpeg");
$bool2 = imagejpeg($picture,$path."thumb/".$newf_name,80);
break;
case "png":
header("Content-Type: image/png");
imagepng($picture,$path."thumb/".$newf_name);
break;
case "gif":
header("Content-Type: image/gif");
imagegif($picture,$path."thumb/".$newf_name);
break;
}
}
答案 0 :(得分:1)
上传图片的计算机操作系统完全无关。
您必须自己调试,而不是在此处发布代码。
在这里发布代码没什么意义。你会得到一些猜测,但大多与你的情况无关 所以,你必须让你的代码告诉你出了什么问题。这称为调试,并且是最重要的程序员的技能。
首先,您必须确定,您将被告知发生的所有错误 在代码顶部添加这些行
ini_set('display_errors',1);
error_reporting(E_ALL);
看看是否说了些什么。
如果不是 - 跟踪您的程序一步一步
在代码中添加一些exit
以及打印相关变量内容以检查它们是否具有所需的值。
答案 1 :(得分:1)
如果您正在使用codeigniter(因为它已被标记)为什么不使用codeigniter的图像处理类?
http://codeigniter.com/user_guide/libraries/image_lib.html
这很简单,上传图片和创建大拇指的文档很多!