[1원 짜리 팁]원본의 이미지를 삭제하구 원하는 사이즈만큼 줄여보자 정보
[1원 짜리 팁]원본의 이미지를 삭제하구 원하는 사이즈만큼 줄여보자본문
질답에 적는 다는 것이 여기에 쯥 나두....
원본이미지가 width=500이상일때 임의로 원본사이즈를 줄여서
db에 파일명 저장 및 파일을 data/file/bo_table/file 저장이 가능할까요?
이러한 기능이 필요한 이유는 적은 웹상의 공간을 보다 효율적 운영을 위해서
생각하다보니 되더군요...
디카로 찍은 사진들이 너무 커요....그래서 일일이 알씨로 수정할까하다가 썸네일 기능을
활용하면 좋은 결과가 있지 않을까 해서 생각해 보았습니다.
$board[bo_image_width] //------------이부분은 보드관리자 화면에서 결정하구요.
$board[bo_1]//------------------썸네일 이미지 폭
$board[bo_2]//------------------썸네일 이미지 질
write_update.skin.php에 아래와 같이 하니 잘되는군요....
$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);
@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님이 알려주신 부분입니다.^^
}
}
}
원본이미지가 width=500이상일때 임의로 원본사이즈를 줄여서
db에 파일명 저장 및 파일을 data/file/bo_table/file 저장이 가능할까요?
이러한 기능이 필요한 이유는 적은 웹상의 공간을 보다 효율적 운영을 위해서
생각하다보니 되더군요...
디카로 찍은 사진들이 너무 커요....그래서 일일이 알씨로 수정할까하다가 썸네일 기능을
활용하면 좋은 결과가 있지 않을까 해서 생각해 보았습니다.
$board[bo_image_width] //------------이부분은 보드관리자 화면에서 결정하구요.
$board[bo_1]//------------------썸네일 이미지 폭
$board[bo_2]//------------------썸네일 이미지 질
write_update.skin.php에 아래와 같이 하니 잘되는군요....
$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);
@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님이 알려주신 부분입니다.^^
}
}
}
추천
7
7
댓글 27개
감사합니다.
리사이징을 잘 모르시는 어른들을 위한 필수 팁이네요.^^
리사이징을 잘 모르시는 어른들을 위한 필수 팁이네요.^^
@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]);
chmod($data_path.'/'.$row2[bf_file], 0606);
$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);
////////////////////////////
이렇게 수정해주시면 줄어든 용량으로 표시 됩니다.
$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]);
chmod($data_path.'/'.$row2[bf_file], 0606);
$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);
////////////////////////////
이렇게 수정해주시면 줄어든 용량으로 표시 됩니다.
오호 좋은 답변이군요... 거기까지 생각지 못했습니다. 감사합니다...^^
비슷한걸 찾고있었는데 바로 적용들어갑니다.
저와 같은 생각을 하시는 분들이 있었군요....^^
감사합니다...^^
저같은 어린이(?)을 위한 좋은 팁 감사합니다.
스크랩, 추천 꽝, 꽝~!!
스크랩, 추천 꽝, 꽝~!!
추천까지 생각지 못한 .....
그저 감사할 따름입니다. 언제나 꾸준하시는 모습이 멋져 보입니다...^^
그저 감사할 따름입니다. 언제나 꾸준하시는 모습이 멋져 보입니다...^^
꼭 필요 했는데, 어찌 할바를 몰라서 그냥 손수 리사이징 했던
아푼 기억이 있습니다...
컴터와 안친하신분들 생각외로 많으시더라구요........
저두 추천 합니다.
아푼 기억이 있습니다...
컴터와 안친하신분들 생각외로 많으시더라구요........
저두 추천 합니다.
컴퓨터와 안치하신분들 ㅡ _-
절대 공감합니다
저는 메인화면 최근글에 강죄 리사이즈 때문에 리사이즈 로직 찾고 있었는데
마침 잘됐네요~
절대 공감합니다
저는 메인화면 최근글에 강죄 리사이즈 때문에 리사이즈 로직 찾고 있었는데
마침 잘됐네요~
바로 찾던 팁이네요 감사
이미지 리사이징 팁
^^
얼마를 고민했는데....
감사요~
감사요~
감사합니당.
이미지가 지정한 크기로 작아지기는 하지만,
저 같은 경우, 리사이즈된 이미지의 용량이... 원본과 비교해서 거의 두배정도 커집니다.
공간의 효율성을 위한 팁이라면...오히려 반대의 효과가 나오는건데.... ㅡㅡ;
다른분들은 어떠신가요?
저 같은 경우, 리사이즈된 이미지의 용량이... 원본과 비교해서 거의 두배정도 커집니다.
공간의 효율성을 위한 팁이라면...오히려 반대의 효과가 나오는건데.... ㅡㅡ;
다른분들은 어떠신가요?
png파일로 생성이 되서 그러니 위의 소스를 다시 확인 하셔서
jpeg파일로 생성하시면 확연히 줄어듭니다.
jpeg파일로 생성하시면 확연히 줄어듭니다.
최곱니다~~~
감사히 쓸게요
감사히 쓸게요
이미지 사이즈
꼭 필요했었는데 너무 잘되네요 감사합니다~
찾고 있었던 내용이네요 한번 적용해 봐야겠네요
유용하게 쓰겠습니다 ^^
유용하게 쓰겠습니다 ^^
직접 관리하는게 아니라서 보통 홈페이지 제작해놓고보면 말도안되는 크기의 이미지들을 올리던데..
이미지 줄이는방법까지 모두 알려줄수없어서 정말 고민했었네요..ㅎㅎ 간절히 찾던팁인데..덕분에 잘 적용했습니다. 너무 감사한 팁이네요..^^
이미지 줄이는방법까지 모두 알려줄수없어서 정말 고민했었네요..ㅎㅎ 간절히 찾던팁인데..덕분에 잘 적용했습니다. 너무 감사한 팁이네요..^^
본문이미지를 썸네일처럼 용량 줄여서 보관
갤러리 리스트에서 썸네일이 반토막 짤려서 나오더라구요 이부분은 해결이 전혀 안되나봐요???
위의 내용은 리스트의 썸네일을 생성하는 내용이 아닙니다.
작은 용량의 계정을 사용하는 이들을 위해서 원본의 사이즈를 줄여서 저장하는
방법이죠....리스트의 썸네일을 생성 관리 하려면 관리자님이 만드신 겔러리 스킨을
참조하시면 비율 썸이 될 것입니다.
작은 용량의 계정을 사용하는 이들을 위해서 원본의 사이즈를 줄여서 저장하는
방법이죠....리스트의 썸네일을 생성 관리 하려면 관리자님이 만드신 겔러리 스킨을
참조하시면 비율 썸이 될 것입니다.
이미지를 작은걸 올려도 이미지가 설정크기로 커져버리네요..
원본를 수정본으로 바꾸니까 잘되네요..
//원본
$rate = $board[bo_image_width] / $size[0];
$height = (int)($size[1] * $rate);
@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]);
//수정본.
$rate = $board[bo_image_width] / $size[0];
if ($size[0] <= $board[bo_image_width]) $rate=1;
$width = (int)($size[0] * $rate);
$height = (int)($size[1] * $rate);
@unlink($data_path.'/'.$row2[bf_file]);
$dst = imagecreatetruecolor($width, $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);
원본를 수정본으로 바꾸니까 잘되네요..
//원본
$rate = $board[bo_image_width] / $size[0];
$height = (int)($size[1] * $rate);
@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]);
//수정본.
$rate = $board[bo_image_width] / $size[0];
if ($size[0] <= $board[bo_image_width]) $rate=1;
$width = (int)($size[0] * $rate);
$height = (int)($size[1] * $rate);
@unlink($data_path.'/'.$row2[bf_file]);
$dst = imagecreatetruecolor($width, $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);
정말 찾던 정보입니다. 감사합니다.