<?php /** * @description 스마트폰, 카메라 등에서 사진 jpg 저장시에 회전값이 들어갈 수 있다. 그럴 경우 변환해 주는 소스 이다. */ if(!function_exists('exif_read_data')){ echo 'not defined exif_read_data. requires exif module'; exit; } if(!function_exists('imagecreatefromjpeg')){ echo 'not defined imagecreatefromjpeg.'; exit; } if(!function_exists('imagerotate')){ echo 'not defined imagerotate.'; exit; } $source_path = "shot.jpg"; $temp_ext = strrchr($source_path, "."); $temp_ext = strtolower($temp_ext);// 확장자 if(preg_match('/(jpg|jpeg)$/i',$temp_ext) && function_exists('exif_read_data') && function_exists('imagecreatefromjpeg') && function_exists('imagerotate') ) { $exif = exif_read_data($source_path);//<get exif data. jpeg 나 tiff 의 경우에만 갖고 있음 $source = imagecreatefromjpeg($source_path);//<임시 리소스 생성 //값에 따라 회전 switch($exif['Orientation']){ case 8 : $source = imagerotate($source,90,0); break; case 3 : $source = imagerotate($source,180,0); break; case 6 : $source = imagerotate($source,-90,0); break; } //결과 처리 header('Content-Type: image/jpeg'); imagejpeg($source); imagedestroy($source); } ?>