익스플로러 이미지 회전현상
ini_set('memory_limit','-1'); //상단에 메모리 사용량 해재
bbs/write_update.php 소스에 삽입할 수 있도록 수정하였습니다.
========================
기존
// 업로드가 안된다면 에러메세지 출력하고 죽어버립니다.
$error_code = move_uploaded_file($tmp_file, $dest_file) or die($_FILES['bf_file']['error'][$i]);
위의 문구를 찾으셔서 아래의 소스로 덮어씌우기 하시면 됩니다.
/////////////////////////////////////////////
// 이 부분부터는 세로사진 정상적으로 출력되도록 회전 수정하는 부분
$exifData = exif_read_data($tmp_file);
if($exifData['Orientation'] == 6) {
// 시계방향으로 90도 돌려줘야 정상인데 270도 돌려야 정상적으로 출력됨
$degree = 270;
}
else if($exifData['Orientation'] == 8) {
// 반시계방향으로 90도 돌려줘야 정상
$degree = 90;
}
else if($exifData['Orientation'] == 3) {
$degree = 180;
}
if($degree) {
if($exifData[FileType] == 1) {
$source = imagecreatefromgif($tmp_file);
$source = imagerotate ($source , $degree, 0);
imagegif($source, $dest_file);
}
else if($exifData[FileType] == 2) {
$source = imagecreatefromjpeg($tmp_file);
$source = imagerotate ($source , $degree, 0);
imagejpeg($source, $dest_file);
}
else if($exifData[FileType] == 3) {
$source = imagecreatefrompng($tmp_file);
$source = imagerotate ($source , $degree, 0);
imagepng($source, $dest_file);
}
imagedestroy($source);
}
else {
// 업로드가 안된다면 에러메세지 출력하고 죽어버립니다.
$error_code = move_uploaded_file($tmp_file, $dest_file) or die($_FILES['bf_file']['error'][$i]);
}
// 세로사진 처리 끝 //////////////////////////////////////////