채택완료

사진게시판 썸네일 방향 질문드립니다.

2948895442_1527236201.7247.png

게시글을 올릴땐 정방향으로해서 올리는데 게시물을 올리면 저렇게 사진 방향이 돌아갑니다.

혹시 해결할 수 있는 방법 없을까요?

|

답변 2개

채택된 답변
+20 포인트

/bbs/write_update.php 파일을 열어,

대략 582번 쯤에 있는, 


        // 업로드가 안된다면 에러메세지 출력하고 죽어버립니다.
        $error_code = move_uploaded_file($tmp_file, $dest_file) or die($_FILES['bf_file']['error'][$i]);

이 부분을 아래와 같이 변경하면 위아래 구분을 할 겁니다.

(그누4에서 작업했던 내용인데, 그누 5에도 그냥 될 듯 하군요.)

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

사진의 EXIF  데이터를 읽어 그에 맞게 사징을 회전 시켜 저장하게 해야 하지요..^^

예전에 작업한게 있으니, 찾아보고 다시 와야겠군요. 

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