웹마스터 팁

모바일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번째줄부터네요.


혹시 해두신게있나해서 이래저래 찾아봤지만 없어서 그냥 짰습니다 ㅠㅠ


중복이아니길빌며. (__) 완성 인증샷.


mobilerotate.jpg