我创建了一个脚本,根据它们的比例调整图像大小。出于某种原因,它会保持回显“失败”,并且不会将调整大小的缩略图移动到我设置的目录。这个目录是一个有效的路径,所以当用PHP创建一个图像时,我必须做一些错误。PHP上传问题
$set_width = $params['width'];
$set_height = $params['height'];
if($filetype == "image/pjpeg" || $filetype == "image/jpeg") {
$new_image = imagecreatefromjpeg($filetmp);
} elseif($filetype == "image/x-png" || $filetype == "image/png") {
$new_image = imagecreatefrompng($filetmp);
} elseif($filetype == "image/gif") {
$new_image = imagecreatefromgif($filetmp);
}
list($width, $height) = getimagesize($filetmp);
$ratio = $width/$height;
if($width != $set_width || $height != $set_height) {
if($ratio > 1)
{
$set_height = $set_width/$ratio;
}
else
{
$set_height = $set_width;
$set_width = $set_width * $ratio;
}
$resized = imagecreatetruecolor($set_width, $set_height);
$rename = $folder . '_' . time() . mt_rand(1,99) . '.' . end($fileext);
imagecopyresampled($resized, $new_image, 0, 0, 0, 0, $set_width, $set_height, $width, $height);
imagejpeg($resized, "$dirpath/$rename", 100);
imageDestroy($resized);
imageDestroy($new_image);
if(move_uploaded_file($resized, "$dirpath/$rename")) {
return $rename;
} else {
echo 'failed';
}
} else {
$rename = $folder . '_' . time() . mt_rand(1,99) . '.' . end($fileext);
if(move_uploaded_file($filetmp, "$dirpath/$rename")) {
return $rename;
} else {
echo 'failed 2';
}
}
所以值,添加更多的调试输出,旁边这个不提供信息的“失败”。 – 2011-03-04 02:37:09
我会使用IMagick – Zoidberg 2011-03-04 02:40:35