묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
섬네일 생성시... 문제...
2004.11.17 19:35
안녕하세요... 섬네일을 생성하려고 하는데 파일 용량이 0k로 생성이 됩니다..
어떻게 된건지좀 가르쳐 주세요... pnm파일은 생성이 되는데 cjpeg로 변환되는
과정에서 0k로 바뀝니다.. 원본은 저장이 잘 됩니다..
photo ---> 원본 파일 저장
photos --> 섬네일 파일 저장
-------------------------------------------------------------
<?
$s_size = 100;
$exp = strrchr($photo_name, '.');
$name = time();
$file1 = $name.$exp;
$file2 = $name.$exp;
@copy($photo,"photo/$file1");
@copy($photo,"photos/$file2");
$img_pnm = $name.".pnm";
$orgSize = getimagesize("$photo");
if($orgSize[0] > $orgSize[1]) {
$smallX = $s_size;
$smallY = intval(($orgSize[1] * $s_size) / $orgSize[0]);
} else {
$smallY = $s_size;
$smallX = intval(($orgSize[0] * $s_size) / $orgSize[1]);
}
if($exp == '.jpg' || $exp == '.JPG') {
exec("djpeg -pnm photos/$file2 > photos/$img_pnm");
} elseif($exp == '.gif' || $exp == '.GIF') {
exec("giftopnm $file2 > photos/{$img_pnm}");
}
@unlink("photos/$file2");
exec("pnmscale -xsize $smallX photos/$img_pnm | cjpeg -quality 85 -outfile photos/$name.jpg");
exec("pnmscale -ysize $smallY photos/$img_pnm | cjpeg -quality 85 -outfile photos/$name.jpg");
@unlink("photos/$img_pnm");
@unlink($photo);
echo("<META http-equiv=refresh content=0;url=test1.htm>");
?>
* 드림팀님에 의해서 게시물 이동되었습니다 (2004-11-17 20:01)
어떻게 된건지좀 가르쳐 주세요... pnm파일은 생성이 되는데 cjpeg로 변환되는
과정에서 0k로 바뀝니다.. 원본은 저장이 잘 됩니다..
photo ---> 원본 파일 저장
photos --> 섬네일 파일 저장
-------------------------------------------------------------
<?
$s_size = 100;
$exp = strrchr($photo_name, '.');
$name = time();
$file1 = $name.$exp;
$file2 = $name.$exp;
@copy($photo,"photo/$file1");
@copy($photo,"photos/$file2");
$img_pnm = $name.".pnm";
$orgSize = getimagesize("$photo");
if($orgSize[0] > $orgSize[1]) {
$smallX = $s_size;
$smallY = intval(($orgSize[1] * $s_size) / $orgSize[0]);
} else {
$smallY = $s_size;
$smallX = intval(($orgSize[0] * $s_size) / $orgSize[1]);
}
if($exp == '.jpg' || $exp == '.JPG') {
exec("djpeg -pnm photos/$file2 > photos/$img_pnm");
} elseif($exp == '.gif' || $exp == '.GIF') {
exec("giftopnm $file2 > photos/{$img_pnm}");
}
@unlink("photos/$file2");
exec("pnmscale -xsize $smallX photos/$img_pnm | cjpeg -quality 85 -outfile photos/$name.jpg");
exec("pnmscale -ysize $smallY photos/$img_pnm | cjpeg -quality 85 -outfile photos/$name.jpg");
@unlink("photos/$img_pnm");
@unlink($photo);
echo("<META http-equiv=refresh content=0;url=test1.htm>");
?>
* 드림팀님에 의해서 게시물 이동되었습니다 (2004-11-17 20:01)
PHP의 imagecopyresized 나 imagecopyresampled 함수를 사용해서
썸네일이미지를 만들면 더 간단하지 않을까 싶습니다만..
물론 최근버전의 GD Library라면 Gif는 지원하지 않기때문에
파일 업로드에서 jpg만 업로드할 수 있도록 제한을 두어야 겠지만서도..
(어차피 퀄리티가 낮은 Gif로 사이즈가 큰 사진이나 이미지를 올리지도 않기 때문에..)