썸네일 생성시 exif_read_data 함수없을 때 예외처리 추가
This commit is contained in:
@ -108,7 +108,7 @@ function get_view_thumbnail($contents, $thumb_width=0)
|
||||
continue;
|
||||
|
||||
// jpg 이면 exif 체크
|
||||
if($size[2] == 2) {
|
||||
if($size[2] == 2 && function_exists('exif_read_data')) {
|
||||
$degree = 0;
|
||||
$exif = @exif_read_data($srcfile);
|
||||
if(!empty($exif['Orientation'])) {
|
||||
@ -218,30 +218,33 @@ function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_h
|
||||
$src = imagecreatefromgif($source_file);
|
||||
} else if ($size[2] == 2) {
|
||||
$src = imagecreatefromjpeg($source_file);
|
||||
// exif 정보를 기준으로 회전각도 구함
|
||||
$exif = @exif_read_data($source_file);
|
||||
if(!empty($exif['Orientation'])) {
|
||||
switch($exif['Orientation']) {
|
||||
case 8:
|
||||
$degree = 90;
|
||||
break;
|
||||
case 3:
|
||||
$degree = 180;
|
||||
break;
|
||||
case 6:
|
||||
$degree = -90;
|
||||
break;
|
||||
}
|
||||
|
||||
// 회전각도 있으면 이미지 회전
|
||||
if($degree) {
|
||||
$src = imagerotate($src, $degree, 0);
|
||||
if(function_exists('exif_read_data')) {
|
||||
// exif 정보를 기준으로 회전각도 구함
|
||||
$exif = @exif_read_data($source_file);
|
||||
if(!empty($exif['Orientation'])) {
|
||||
switch($exif['Orientation']) {
|
||||
case 8:
|
||||
$degree = 90;
|
||||
break;
|
||||
case 3:
|
||||
$degree = 180;
|
||||
break;
|
||||
case 6:
|
||||
$degree = -90;
|
||||
break;
|
||||
}
|
||||
|
||||
// 세로사진의 경우 가로, 세로 값 바꿈
|
||||
if($degree == 90 || $degree == -90) {
|
||||
$tmp = $size;
|
||||
$size[0] = $tmp[1];
|
||||
$size[1] = $tmp[0];
|
||||
// 회전각도 있으면 이미지 회전
|
||||
if($degree) {
|
||||
$src = imagerotate($src, $degree, 0);
|
||||
|
||||
// 세로사진의 경우 가로, 세로 값 바꿈
|
||||
if($degree == 90 || $degree == -90) {
|
||||
$tmp = $size;
|
||||
$size[0] = $tmp[1];
|
||||
$size[1] = $tmp[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user