비율에 따라 이미지의 크기를 조정하는 스크립트를 만들었습니다. 어떤 이유로, "에코"가 계속 울리며 크기가 조정 된 축소판을 내가 설정 한 디렉토리로 이동하지 않습니다. 디렉토리가 유효한 경로이므로 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';
}
}
그래서 null 값을 전송
$resized = imagecreatetruecolor($set_width, $set_height);
에set_width
및set_height
의 값은 더 많은 디버깅 출력을 추가 할 수 있습니다. –IMagick을 사용합니다 – Zoidberg