테스트 사이트 - 개발 중인 베타 버전입니다

갤러리 누워있는 사진 세로로 자동 회전되는 소스 적용 오류입니다. 부탁 드려요... 채택완료

미스터짱 10년 전 조회 7,559

/////////////////////////////////////////////
        // 이 부분부터는 세로사진 정상적으로 출력되도록 회전 수정하는 부분
       
        $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]);
        }
        // 세로사진 처리 끝 //////////////////////////////////////////

 

 
제가 적용하려하는 소소입니다.

 

사진 이미지에 맞게 자동회전하는 소스인데요

 

$exifData = exif_read_data($tmp_file);

 

 시작되는 첫줄부터 오류가뜨네요~

 

가족사진 갤러리를 꾸미고있는데 이문제때문에 고생중이에요 ㅠ  

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
편리
10년 전

오류가 없어 판단은 어렵지만 우선 php 에서 exif 사용이 가능한지 확인해 보셔야 합니다.

 


 

phpinfo() 함수를 통해 exif 사용여부를 확인하시고 exif 지원이 되지 않으면 사용하시는 호스팅사에

연락하셔서 exif 사용이 가능하도록 하셔야 합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

미스터짱
10년 전
감사합니다^^ 덕분에 해결했습니다...
알면알수록 어렵네요..ㅡㅡ??

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인