열정님의 이미지 리사이징을 활용하고 싶습니다. 정보
열정님의 이미지 리사이징을 활용하고 싶습니다.관련링크
본문
홈페이지 관리를 하다 보니 컴터랑 정말 친하지 않은 분들이 많다는 것을
많이 느끼는 데요 그 중에서도 이미지 리사이징은 가장 돋보이는 존재이죠...
일반 포털사이트는 모두 그런 기능이 있던 것 같은데 그누보드에는 없어서
너무 아쉽습니다.
열정님의 팁을 활용하고 싶은데요.
게시판 관리자에서 정한 사이즈 보다 더 작은 사이즈를 올린 경우에도
크게 리사이징을 해 버리는 현상이 발생 하여 사용하기가 좀 어려움이
있어서요...
생전 처음으로 php if문을 한번 활용해 보려고 노력 중 입니다. ㅠㅠ
if ($실제이미지넓이 < $board[bo_image_width])
{ 열정님의 팁을
}
else if
}
else if
{ 관리자님 섬네일 소스를
}
이런 식으로 하면 되는지...지금 제가 맞게 구상을 한건지 조차 모르 겠구요...
실제 이미지 사이즈 구하는 방법도 어찌 해야 할지 막막합니다...
한수만 부탁 드립니다.^^
댓글 전체
대충 성공 한거 같습니다...
지금이라도
조금만 관심 가져 주시면 어차피 날린포인트 얼마 안되지만 드리고 싶은데...
$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/thumb';
$sql2=" select * from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no asc";
$results2 = sql_query($sql2);
for ($d=0; $row2=sql_fetch_array($results2); $d++) { //~~~~~~~~~~~~~~~~~~~~~~~~~~~
if ($_FILES[bf_file][name][$d])
{
$file = $data_path .'/'. $row2[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_image_width] / $size[0];
$height = (int)($size[1] * $rate);
if ($size[0] > $board[bo_image_width]){
@unlink($data_path.'/'.$row2[bf_file]);
$dst = imagecreatetruecolor($board[bo_image_width], $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_image_width], $height, $size[0], $size[1]);
// imagepng($dst, $data_path.'/'.$row2[bf_file], $board[bo_2]);
//이부분이 png 압축방식이어서 이미지 커졌나 봅니다.
//아래처럼 하니 줄어드는 것을 확실히 느껴집니다....^^
imagejpeg($dst, $data_path.'/'.$row2[bf_file], $board[bo_2]);
chmod($data_path.'/'.$row2[bf_file], 0606);
//---------->madem님이 알려주신 부분입니다.^^
$bf_size = @filesize(addslashes($file));
$sql = " update $g4[board_file_table]
set bf_filesize = '$bf_size'
where bo_table = '$bo_table' and wr_id = '$wr_id' ";
sql_query($sql);
//---------->madem님이 알려주신 부분입니다.^^
}
}
}
}
중간에
if ($size[0] > $board[bo_image_width]){
마지막에 } 이렇게만 추가 했더니 일단은 잘 됩니다... ^^
지금이라도
조금만 관심 가져 주시면 어차피 날린포인트 얼마 안되지만 드리고 싶은데...
$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/thumb';
$sql2=" select * from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no asc";
$results2 = sql_query($sql2);
for ($d=0; $row2=sql_fetch_array($results2); $d++) { //~~~~~~~~~~~~~~~~~~~~~~~~~~~
if ($_FILES[bf_file][name][$d])
{
$file = $data_path .'/'. $row2[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_image_width] / $size[0];
$height = (int)($size[1] * $rate);
if ($size[0] > $board[bo_image_width]){
@unlink($data_path.'/'.$row2[bf_file]);
$dst = imagecreatetruecolor($board[bo_image_width], $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_image_width], $height, $size[0], $size[1]);
// imagepng($dst, $data_path.'/'.$row2[bf_file], $board[bo_2]);
//이부분이 png 압축방식이어서 이미지 커졌나 봅니다.
//아래처럼 하니 줄어드는 것을 확실히 느껴집니다....^^
imagejpeg($dst, $data_path.'/'.$row2[bf_file], $board[bo_2]);
chmod($data_path.'/'.$row2[bf_file], 0606);
//---------->madem님이 알려주신 부분입니다.^^
$bf_size = @filesize(addslashes($file));
$sql = " update $g4[board_file_table]
set bf_filesize = '$bf_size'
where bo_table = '$bo_table' and wr_id = '$wr_id' ";
sql_query($sql);
//---------->madem님이 알려주신 부분입니다.^^
}
}
}
}
중간에
if ($size[0] > $board[bo_image_width]){
마지막에 } 이렇게만 추가 했더니 일단은 잘 됩니다... ^^
저요 ^^ 안녕하세요 ~~
^^안녕하세요