php / myql 상위버젼에서 썸네일 지원여부 정보
php / myql 상위버젼에서 썸네일 지원여부관련링크
본문
아래 코드는 썸네일을 생성하기 위한 write_update.php 및 list_skin.php 에 들어었는 코드입니다.
기존 php/mysql 4.x ...버젼에서는 썸테일이 정상적으로 생성이 되었는데
호스팅 환경이 5.x 버젼대로 옮겨가면서 썸네일이 제대로 생성이 되지 못하는 문제가 있어서
골머리를 앓고 있습니다.
바뀐 호스팅의 php/mysql 의 버젼(Version)은 다음과 같습니다.
1. php : 5.2.6
2. mysql : 5.0.77
그리고 썸네일 생성관련 코드는 아래와 같습니다..
<write_update.skin.php> ---------- 썸네일 관련 코드...
$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/thumb';
if ($_FILES[bf_file][name][0])
{
$row = sql_fetch(" select * from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '0' ");
$file = $data_path .'/'. $row[bf_file];
if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file))
{
$size = getimagesize($file);
if ($size[2] == 1)
$src = imagecreatefromgif($file);
else if ($size[2] == 2)
$src = imagecreatefromjpeg($file);
else if ($size[2] == 3)
$src = imagecreatefrompng($file);
else
break;
$rate = $board[bo_1] / $size[0];
$height = (int)($size[1] * $rate);
@unlink($thumb_path.'/'.$wr_id);
$dst = imagecreatetruecolor($board[bo_1], $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_1], $height, $size[0], $size[1]);
imagepng($dst, $thumb_path.'/'.$wr_id, $board[bo_2]);
chmod($thumb_path.'/'.$wr_id, 0606);
}
}
............... 여기까지 .................
<list.skin.php> -------------- 썸네일 관련 코드...
<? // 이미지 관련설정
$no_img = "<img src='$board_skin_path/img/no_image.gif' border=0 width='$board[bo_1]' title='이미지 없음'>";
$thumb = $thumb_path.'/'.$list[$i][wr_id];
if (!file_exists($thumb)) {
$file = $list[$i][file][0][path] .'/'. $list[$i][file][0][file];
if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file) && file_exists($file)) {
$size = getimagesize($file);
if ($size[2] == 1)
$src = imagecreatefromgif($file);
else if ($size[2] == 2)
$src = imagecreatefromjpeg($file);
else if ($size[2] == 3)
$src = imagecreatefrompng($file);
else
break;
$rate = $board[bo_1] / $size[0];
$height = (int)($size[1] * $rate);
$dst = imagecreatetruecolor($board[bo_1], $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_1], $height, $size[0], $size[1]);
imagepng($dst, $thumb_path.'/'.$list[$i][wr_id], $board[bo_2]);
chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
}
}
if (file_exists($thumb))
$img = "<img src='$thumb' border=0>";
else
$img = $no_img; //썸네일 미등록시, no이미지파일출력
?>
----------------- 여기까지...
글의 요지는 상위버젼에서 더이상 사용할수 없는 php변수가 해당 코드에 있는지 알고자 하는거지요~
이미지파일 등록하면, 위코드로 구동하여 썸네일이 생성되고
그 생성된 썸네일이 리스트화면에 출력되어야하는데 엑박이 올라옵니다
참고로, 경로를 따라 들어가서 헤당 thumb폴더내에 생성파일을 검색해보면...
썸네일파일은 생성이 되어있긴한데...버젼이 바뀌기전의 다른 썸네일파일과 비교해봤을때,
용량이 아주작은 byte단위의 이름만 가진 썸네일파일이 생성되는게 보이긴..합니다.
... 별도의 화면에 나타나는 에러메세지 따윈 없습니다 ...
php/mysql 상위버젼으로 갈아탄 뒤에 위 썸네일코로 썸네일생성시 변환생성이 제대로 안되서인지,
리스트화면에 해당 썸네일이 아닌 엑박만 표시될 뿐~~~
위 코드의 변수나 php코드중에 상위버젼에서 제대로 작동되지 않거나
바뀌어야 할 코드가 있는지 한번 봐주시겠습니까????
도움을 부탁드립니다.
기존 php/mysql 4.x ...버젼에서는 썸테일이 정상적으로 생성이 되었는데
호스팅 환경이 5.x 버젼대로 옮겨가면서 썸네일이 제대로 생성이 되지 못하는 문제가 있어서
골머리를 앓고 있습니다.
바뀐 호스팅의 php/mysql 의 버젼(Version)은 다음과 같습니다.
1. php : 5.2.6
2. mysql : 5.0.77
그리고 썸네일 생성관련 코드는 아래와 같습니다..
<write_update.skin.php> ---------- 썸네일 관련 코드...
$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/thumb';
if ($_FILES[bf_file][name][0])
{
$row = sql_fetch(" select * from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '0' ");
$file = $data_path .'/'. $row[bf_file];
if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file))
{
$size = getimagesize($file);
if ($size[2] == 1)
$src = imagecreatefromgif($file);
else if ($size[2] == 2)
$src = imagecreatefromjpeg($file);
else if ($size[2] == 3)
$src = imagecreatefrompng($file);
else
break;
$rate = $board[bo_1] / $size[0];
$height = (int)($size[1] * $rate);
@unlink($thumb_path.'/'.$wr_id);
$dst = imagecreatetruecolor($board[bo_1], $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_1], $height, $size[0], $size[1]);
imagepng($dst, $thumb_path.'/'.$wr_id, $board[bo_2]);
chmod($thumb_path.'/'.$wr_id, 0606);
}
}
............... 여기까지 .................
<list.skin.php> -------------- 썸네일 관련 코드...
<? // 이미지 관련설정
$no_img = "<img src='$board_skin_path/img/no_image.gif' border=0 width='$board[bo_1]' title='이미지 없음'>";
$thumb = $thumb_path.'/'.$list[$i][wr_id];
if (!file_exists($thumb)) {
$file = $list[$i][file][0][path] .'/'. $list[$i][file][0][file];
if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file) && file_exists($file)) {
$size = getimagesize($file);
if ($size[2] == 1)
$src = imagecreatefromgif($file);
else if ($size[2] == 2)
$src = imagecreatefromjpeg($file);
else if ($size[2] == 3)
$src = imagecreatefrompng($file);
else
break;
$rate = $board[bo_1] / $size[0];
$height = (int)($size[1] * $rate);
$dst = imagecreatetruecolor($board[bo_1], $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_1], $height, $size[0], $size[1]);
imagepng($dst, $thumb_path.'/'.$list[$i][wr_id], $board[bo_2]);
chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
}
}
if (file_exists($thumb))
$img = "<img src='$thumb' border=0>";
else
$img = $no_img; //썸네일 미등록시, no이미지파일출력
?>
----------------- 여기까지...
글의 요지는 상위버젼에서 더이상 사용할수 없는 php변수가 해당 코드에 있는지 알고자 하는거지요~
이미지파일 등록하면, 위코드로 구동하여 썸네일이 생성되고
그 생성된 썸네일이 리스트화면에 출력되어야하는데 엑박이 올라옵니다
참고로, 경로를 따라 들어가서 헤당 thumb폴더내에 생성파일을 검색해보면...
썸네일파일은 생성이 되어있긴한데...버젼이 바뀌기전의 다른 썸네일파일과 비교해봤을때,
용량이 아주작은 byte단위의 이름만 가진 썸네일파일이 생성되는게 보이긴..합니다.
... 별도의 화면에 나타나는 에러메세지 따윈 없습니다 ...
php/mysql 상위버젼으로 갈아탄 뒤에 위 썸네일코로 썸네일생성시 변환생성이 제대로 안되서인지,
리스트화면에 해당 썸네일이 아닌 엑박만 표시될 뿐~~~
위 코드의 변수나 php코드중에 상위버젼에서 제대로 작동되지 않거나
바뀌어야 할 코드가 있는지 한번 봐주시겠습니까????
도움을 부탁드립니다.
댓글 전체
썸네일 생성 코드를 업로시 , 리스트 출력시 깉은 코드를 두 번 저렇게 넣을 필요가 없을 것 같은데...
어쨌건 imagepng($dst, $thumb_path.'/'.$wr_id, $board[bo_2]);
<===== imagejpeg(($dst, $thumb_path.'/'.$wr_id, $board[bo_2],90);
이렇게 바꾸어 보세요
문제 없다면 바뀐서버 GD 문제입니다
어쨌건 imagepng($dst, $thumb_path.'/'.$wr_id, $board[bo_2]);
<===== imagejpeg(($dst, $thumb_path.'/'.$wr_id, $board[bo_2],90);
이렇게 바꾸어 보세요
문제 없다면 바뀐서버 GD 문제입니다
감사합니다. 꾸벅~~~ ^^;;
말씀하신대로 하니, 썸네일이 생성이 되는군요.
왜 잘되던 코드가 위처럼 변경하면 되는지등... 추가로 질문을 좀 했으면 하는게 많지만...
개인적인 생각에는 언급해주신대로 호스팅쪽 GD쪽에도 문제가 있지않나 보여지네요.
코드를 가져다 붙여서 만드는 바람에 중복코드및 삭제관련해서 몇가지 문제가 있는데
어쨋던 댓글 주셔서 정말 감사하고 시간날때 스킨작업을 다시해봐야 겠군요. ^^ ;;
항상 도움주셔서 감사합니다 ...
말씀하신대로 하니, 썸네일이 생성이 되는군요.
왜 잘되던 코드가 위처럼 변경하면 되는지등... 추가로 질문을 좀 했으면 하는게 많지만...
개인적인 생각에는 언급해주신대로 호스팅쪽 GD쪽에도 문제가 있지않나 보여지네요.
코드를 가져다 붙여서 만드는 바람에 중복코드및 삭제관련해서 몇가지 문제가 있는데
어쨋던 댓글 주셔서 정말 감사하고 시간날때 스킨작업을 다시해봐야 겠군요. ^^ ;;
항상 도움주셔서 감사합니다 ...