웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
모바일 이미지 업로드시 세로사진 자동 회전하기
2013.10.17 16:31
모바일EX.. 훌륭한 모듈입니다.
조금 수정해서 아주 잘 사용하고있습니다. ^^
근데, 회전기능이 왜있나했더니 모바일에서 찍은 사진을 업로드할때에 자동으로 인식해서 저장해주는 기능이 없더군요 ㅠㅠ
세로로 찍은 사진을 올리니 자꾸 가로로 누워버려서... 그래서 추가해봤습니다.
이 팁은 기본적으로 모바일EX 모듈을 사용하고, mobileex.controller.php 를 수정하여 사용합니다.
적절한 위치에 다음소스만 추가해주시면됩니당 ^^;
if($is_img == "Y"){ if($ext == "jpg" || $ext == "jpeg"){ $image = imagecreatefromjpeg($file_info['tmp_name']); }else if($ext == "png"){ $image = imagecreatefrompng($file_info['tmp_name']); }else if($ext == "bmp" || $ext == "wbmp"){ $image = imagecreatefromwbmp($file_info['tmp_name']); }else if($ext == "gif"){ $image = imagecreatefromgif($file_info['tmp_name']); } $exif = exif_read_data($file_info['tmp_name']); if(!empty($exif['Orientation'])) { switch($exif['Orientation']) { case 8: $image = imagerotate($image,90,0); break; case 3: $image = imagerotate($image,180,0); break; case 6: $image = imagerotate($image,-90,0); break; } if($ext == "jpg" || $ext == "jpeg"){ imagejpeg($image,$file_info['tmp_name']); }else if($ext == "png"){ imagepng($image,$file_info['tmp_name']); }else if($ext == "bmp" || $ext == "wbmp"){ imagewbmp($image,$file_info['tmp_name']); }else if($ext == "gif"){ imagegif($image,$file_info['tmp_name']); } } }
우선 모바일EX에서 이미지를 구분하는 $is_img 변수가 생성되는 부분보다 아래쪽에 위치해야하구요,
임시업로드파일 (tmp_name)을 이용하는것이므로..
mkdir과 move file 보단 위쪽에 위치해야합니다. move file 이후에, 업로드된이미지를 검사하여 회전시켜보았는데 속도가 느려 그냥 임시파일로 처리했습니다.
저는 미디어파일을 검사하여 처리하는 조건 안쪽 $direct_download = "Y"; 바로 아래쪽에 넣어서 작업하였습니다.
mobileEX 0.6.1 기준 125번째줄부터네요.
혹시 해두신게있나해서 이래저래 찾아봤지만 없어서 그냥 짰습니다 ㅠㅠ
중복이아니길빌며. (__) 완성 인증샷.