해당스킨폴더에 write_update.skin.php 추가
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
/////////////////// 게시판 이미지 첨부시 파일 리사이징
$sql2=" select * from $g5[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++) {
echo resize_image($d,$row2,$bo_table,$wr_id);
}
/////////////////// 게시판 이미지 첨부시 파일 리사이징 끝
function resize_image($d,$row2,$bo_table,$wr_id)
{
global $g5;
if ($_FILES['bf_file']['name'][$d]) {
$img_limit_width = 660; // 제한할 이미지 폭
$img_quality = 70; // 이미지 품질
$data_path = G5_DATA_PATH."/file/$bo_table";
$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);
//echo "1222";
}
else if ($size[2] == 2){
$src = imagecreatefromjpeg($file);
//echo "2222";
}
else if ($size[2] == 3){
$src = imagecreatefrompng($file);
//echo "3222";
}
$rate = $img_limit_width / $size[0];
$height = (int)($size[1] * $rate);
if ($size[0] > $img_limit_width){
@unlink($data_path.'/'.$row2['bf_file']);
$dst = imagecreatetruecolor($img_limit_width, $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $img_limit_width, $height, $size[0], $size[1]);
imagejpeg($dst, $data_path.'/'.$row2['bf_file'], $img_quality);
chmod($data_path.'/'.$row2['bf_file'], 0606);
$bf_size = @filesize(addslashes($file));
$sql = " update $g5[board_file_table]
set bf_filesize = '$bf_size'
where bo_table = '$bo_table' and wr_id = '$wr_id' ";
sql_query($sql);
}
}
}
return $sql;
}
?>
728x90