안녕하세요^^
사진에 워터마크를 적용할 경우 업로드된 파일외에
워터마크가 적용된 사진도 동시에 저장되는 건가요?
즉, 서버에 2장의 사진(원본 및 워터마크적용사진)이 저장되는것인지요??
답변 꼭 부탁드립니다~~
워터마크 소스는 아래와 같습니다..
$wmFile = $g4[path]."/img/Watermark.gif"; // 워터마크 이미지 주소
$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]);
//imagejpeg($dst, $data_path.'/'.$row2[bf_file], $board[bo_2]); //혹 업로드 이미지 깨지면 여긴 주석처리하시고 바로 아래 껄 이용하세요..
imagepng($dst, $data_path.'/'.$row2[bf_file], $board[bo_2]); //주석 해제
chmod($data_path.'/'.$row2[bf_file], 0606);
$temp = @getimagesize(addslashes($file));
}
// 리사이즈를 원치않으면 여기까지 삭제 & 주석처리하면 됨.
$wmImg = imageCreateFromGIF($wmFile);
$size = getimagesize($file);
if ($size[2] == 1)
$jpegImg = imagecreatefromgif($file);
else if ($size[2] == 2)
$jpegImg = imagecreatefromjpeg($file);
else if ($size[2] == 3)
$jpegImg = imagecreatefrompng($file);
else
break;
$wmX=imageSX($jpegImg) - imageSX($wmImg);
$wmY=imageSY($jpegImg) - imageSY($wmImg);
imageCopyMerge($jpegImg, $wmImg, $wmX, $wmY, 0, 0, imageSX($wmImg), imageSY($wmImg), 90);
ImageJPEG($jpegImg, $file, 90);
}
}
}
// 에디터에서 이미지 경로 추출 시작
$s = $wr_content;
$img_file = Array();
while($s) {
$pos = strpos($s, "/data/cheditor");
$s = substr($s, $pos, strlen($s));
$pos = strpos($s, '"');
$file_path = substr($s, 0, $pos);
if (!$file_path) break;
$img_file[] = $g4[path].substr($file_path,0,-1);
$s = substr($s, $pos, strlen($s));
}
// 에디터에서 이미지 경로 추출 끝
// 에디터이미지 워터마크 작업 시작
for($i=0;$i<count($img_file);$i++){
$wmImg = imageCreateFromGIF($wmFile);
$size = getimagesize($img_file[$i]);
if ($size[2] == 1)
$jpegImg = imagecreatefromgif($img_file[$i]);
else if ($size[2] == 2)
$jpegImg = imagecreatefromjpeg($img_file[$i]);
else if ($size[2] == 3)
$jpegImg = imagecreatefrompng($img_file[$i]);
else
break;
$wmX=imageSX($jpegImg) - imageSX($wmImg);
$wmY=imageSY($jpegImg) - imageSY($wmImg);
imageCopyMerge($jpegImg, $wmImg, $wmX, $wmY, 0, 0, imageSX($wmImg), imageSY($wmImg), 90);
ImageJPEG($jpegImg, $img_file[$i], 90);
}
// 에디터이미지 워터마크 작업 끝
사진에 워터마크를 적용할 경우 업로드된 파일외에
워터마크가 적용된 사진도 동시에 저장되는 건가요?
즉, 서버에 2장의 사진(원본 및 워터마크적용사진)이 저장되는것인지요??
답변 꼭 부탁드립니다~~
워터마크 소스는 아래와 같습니다..
$wmFile = $g4[path]."/img/Watermark.gif"; // 워터마크 이미지 주소
$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]);
//imagejpeg($dst, $data_path.'/'.$row2[bf_file], $board[bo_2]); //혹 업로드 이미지 깨지면 여긴 주석처리하시고 바로 아래 껄 이용하세요..
imagepng($dst, $data_path.'/'.$row2[bf_file], $board[bo_2]); //주석 해제
chmod($data_path.'/'.$row2[bf_file], 0606);
$temp = @getimagesize(addslashes($file));
}
// 리사이즈를 원치않으면 여기까지 삭제 & 주석처리하면 됨.
$wmImg = imageCreateFromGIF($wmFile);
$size = getimagesize($file);
if ($size[2] == 1)
$jpegImg = imagecreatefromgif($file);
else if ($size[2] == 2)
$jpegImg = imagecreatefromjpeg($file);
else if ($size[2] == 3)
$jpegImg = imagecreatefrompng($file);
else
break;
$wmX=imageSX($jpegImg) - imageSX($wmImg);
$wmY=imageSY($jpegImg) - imageSY($wmImg);
imageCopyMerge($jpegImg, $wmImg, $wmX, $wmY, 0, 0, imageSX($wmImg), imageSY($wmImg), 90);
ImageJPEG($jpegImg, $file, 90);
}
}
}
// 에디터에서 이미지 경로 추출 시작
$s = $wr_content;
$img_file = Array();
while($s) {
$pos = strpos($s, "/data/cheditor");
$s = substr($s, $pos, strlen($s));
$pos = strpos($s, '"');
$file_path = substr($s, 0, $pos);
if (!$file_path) break;
$img_file[] = $g4[path].substr($file_path,0,-1);
$s = substr($s, $pos, strlen($s));
}
// 에디터에서 이미지 경로 추출 끝
// 에디터이미지 워터마크 작업 시작
for($i=0;$i<count($img_file);$i++){
$wmImg = imageCreateFromGIF($wmFile);
$size = getimagesize($img_file[$i]);
if ($size[2] == 1)
$jpegImg = imagecreatefromgif($img_file[$i]);
else if ($size[2] == 2)
$jpegImg = imagecreatefromjpeg($img_file[$i]);
else if ($size[2] == 3)
$jpegImg = imagecreatefrompng($img_file[$i]);
else
break;
$wmX=imageSX($jpegImg) - imageSX($wmImg);
$wmY=imageSY($jpegImg) - imageSY($wmImg);
imageCopyMerge($jpegImg, $wmImg, $wmX, $wmY, 0, 0, imageSX($wmImg), imageSY($wmImg), 90);
ImageJPEG($jpegImg, $img_file[$i], 90);
}
// 에디터이미지 워터마크 작업 끝
댓글 2개
게시글 목록
| 번호 | 제목 |
|---|---|
| 284508 | |
| 284499 | |
| 284492 | |
| 284490 | |
| 284484 | |
| 284481 | |
| 284478 | |
| 284476 | |
| 284474 | |
| 284472 | |
| 284470 | |
| 284458 | |
| 284457 | |
| 284454 | |
| 284453 | |
| 284447 | |
| 284446 | |
| 284444 | |
| 284441 | |
| 284440 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기