반응형
<?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);
}
?>
반응형
'개발 > PHP' 카테고리의 다른 글
[PHP] strpos, stripos (0) | 2016.01.19 |
---|---|
[codeigniter] xss_clean (0) | 2015.10.04 |
[이클립스]cannot create linked resource '/.org.eclipse.dltk.core.external.folders/.link1'. the parent resource is not accessible. (0) | 2015.07.17 |
[PHP][이클립스] 이클립스에서 class code assist 가 안 될 때 (0) | 2015.07.16 |
[PHP] print_r 로 변수에 담기 (0) | 2013.10.31 |
[PHP] === 연산자 (0) | 2013.10.16 |
[php] 이메일 검사식 (0) | 2013.10.11 |
[php] explode (0) | 2013.10.04 |