net tutsplus에서 가져온이 소스 코드가 있습니다. 나는 그것을 설정하고 그것을 하나의 PHP 파일로 만들었다. 원본 이미지는 전송되지만 축소판 폴더에는 생성되지 않습니다.섬네일 생성 PHP 문제
<?php
$final_width_of_image = 100;
$path_to_image_directory = "../../img/events/" . urldecode($_GET['name']) . "/";
$path_to_thumbs_directory = "../../img/events/" . urldecode($_GET['name']) . "/thumbnails/";
function createThumbnail($filename)
{
if(preg_match('/[.](jpg)$/', $filename))
{
$im = imagecreatefromjpeg($path_to_image_directory . $filename);
}
elseif(preg_match('/[.](gif)$/', $filename))
{
$im = imagecreatefromgif($path_to_image_directory . $filename);
}
elseif(preg_match('/[.](png)$/', $filename))
{
$im = imagecreatefrompng($path_to_image_directory . $filename);
}
$ox = imagesx($im);
$oy = imagesy($im);
$nx = $final_width_of_image;
$ny = floor($oy * ($final_width_of_image/$ox));
$nm = imagecreatetruecolor($nx, $ny);
imagecopyresized($nm, $im, 0,0,0,0,$nx,$ny,$ox,$oy);
imagejpeg($nm, $path_to_thumbs_directory . $filename);
$tn = '<img src="' . $path_to_thumbs_directory . $filename . '" alt="image" />';
echo $tn;
}
if(isset($_FILES['fupload'])) {
if(preg_match('/[.](jpg)|(gif)|(png)$/', $_FILES['fupload']['name'])) {
$filename = $_FILES['fupload']['name'];
$source = $_FILES['fupload']['tmp_name'];
$target = $path_to_image_directory . $filename;
move_uploaded_file($source, $target);
createThumbnail($filename);
}
}
?>
기본적으로 업로드 된 이미지의 미리보기 이미지를 생성하고 원본 이미지를 다른 폴더에 저장해야합니다.
경로가 정확합니다. URL에서 폴더 이름을 가져와 작동하지만 작동하지만 아무 것도 축소판 폴더에 대해 작동하지 않습니다.
이 질문을하기 전에 네, 섬네일 세대가 PHP GD에서 내 서버에서 작동하는지, 별도로 테스트 해 보았습니다. 그래서 이것은 문제가 아닙니다. :)
어떻게 작동합니까? 그것은 더 나은 썸네일을 생성하므로 :(
에 오류가 있습니다 ... 당신의 요구 사항과 요구 사항이 무엇인지에 달려 또는 그냥 아무것도 표시되지 않습니다? – miku
썸네일 폴더가 있고 올바른 권한을 가지고 있습니까? 오류 메시지가 나타 납니까? –
이미지를 보여 주지만 축소판 크기로 축소되지는 않습니다. 권한은 괜찮습니다. – MacMac