그누보드

익스플로러 이미지 회전현상

헤롱헤롱이 2021. 1. 28. 15:02

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]);

        }

        // 세로사진 처리 끝 //////////////////////////////////////////