diff --git a/lib/thumbnail.lib.php b/lib/thumbnail.lib.php index e46421b8b..cce54b329 100644 --- a/lib/thumbnail.lib.php +++ b/lib/thumbnail.lib.php @@ -9,38 +9,38 @@ function it_img_thumb($filename, $filepath, $thumb_width, $thumb_height, $is_cre } //function thumbnail($bo_table, $file, $width, $height, $is_create=false) -function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_height, $is_create); +function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_height, $is_create) { global $g4; - $thumb_dir = "$g4[path]/data/thumb/$bo_table"; - if (!is_dir($thumb_dir)) { - @mkdir($thumb_dir, 0707); - @chmod($thumb_dir, 0707); + $thumb_filename = preg_replace("/\.[^\.]+$/i", "", $filename); // 확장자제거 + if (!is_dir($target_path)) { + @mkdir($target_path, 0707); + @chmod($target_path, 0707); } - $thumb_file = "$thumb_dir/{$width}x{$height}_{$file}.png"; + $thumb_file = "$target_path/{$thumb_filename}_{$thumb_width}x{$thumb_height}.png"; $thumb_time = @filemtime($thumb_file); - $source_file = "$g4[path]/data/file/$bo_table/$file"; + $source_file = "$source_path/$filename"; $source_time = @filemtime($source_file); if (file_exists($thumb_file)) { if ($is_create == false && $source_time < $thumb_time) { - return $thumb_file; + return str_replace($target_path.'/', '', $thumb_file); } } $size = @getimagesize($source_file); // 이미지 파일이 없거나 아님 if (!$size[0]) { - if (!$height) $height = $width; - $thumb_file = "$g4[path]/data/thumb/{$width}x{$height}_noimg.gif"; + if (!$thumb_height) $thumb_height = $thumb_width; + $thumb_file = "$target_path/noimg_{$thumb_width}x{$thumb_height}.png"; if (!file_exists($thumb_file)) { - $target = imagecreate($width, $height); + $target = imagecreate($thumb_width, $thumb_height); imagecolorallocate($target, 250, 250, 250); - imagecopy($target, $target, 0, 0, 0, 0, $width, $height); + imagecopy($target, $target, 0, 0, 0, 0, $thumb_width, $thumb_height); imagepng($target, $thumb_file, 0); @chmod($thumb_file, 0606); // 추후 삭제를 위하여 파일모드 변경 } - return $thumb_file; + return str_replace($target_path.'/', '', $thumb_file); } $is_imagecopyresampled = false; @@ -55,29 +55,29 @@ function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_h $src = imagecreatefrompng($source_file); } - if ($width) { - if ($height) { - $rate = $width / $size[0]; + if ($thumb_width) { + if ($thumb_height) { + $rate = $thumb_width / $size[0]; $tmp_height = (int)($size[1] * $rate); - if ($tmp_height < $height) { - $dst = imagecreatetruecolor($width, $height); + if ($tmp_height < $thumb_height) { + $dst = imagecreatetruecolor($thumb_width, $thumb_height); $bgcolor = imagecolorallocate($dst, 250, 250, 250); // 배경색 여기야!!! imagefill($dst, 0, 0, $bgcolor); - imagecopyresampled($dst, $src, 0, 0, 0, 0, $width, $tmp_height, $size[0], $size[1]); + imagecopyresampled($dst, $src, 0, 0, 0, 0, $thumb_width, $tmp_height, $size[0], $size[1]); } else { - $dst = imagecreatetruecolor($width, $height); - imagecopyresampled($dst, $src, 0, 0, 0, 0, $width, $tmp_height, $size[0], $size[1]); + $dst = imagecreatetruecolor($thumb_width, $thumb_height); + imagecopyresampled($dst, $src, 0, 0, 0, 0, $thumb_width, $thumb_height, $size[0], $size[1]); } } else { - $rate = $width / $size[0]; + $rate = $thumb_width / $size[0]; $tmp_height = (int)($size[1] * $rate); - $dst = imagecreatetruecolor($width, $tmp_height); - imagecopyresampled($dst, $src, 0, 0, 0, 0, $width, $tmp_height, $size[0], $size[1]); + $dst = imagecreatetruecolor($thumb_width, $tmp_height); + imagecopyresampled($dst, $src, 0, 0, 0, 0, $thumb_width, $tmp_height, $size[0], $size[1]); } } imagepng($dst, $thumb_file, 0); // 0 (no compression) ~ 9 chmod($thumb_file, 0606); // 추후 삭제를 위하여 파일모드 변경 - return $thumb_file; + return str_replace($target_path.'/', '', $thumb_file); } ?> \ No newline at end of file