thumbnail.lib.php 256라인 에러 대체 > 그누보드5 팁자료실

그누보드5 팁자료실

thumbnail.lib.php 256라인 에러 대체 정보

thumbnail.lib.php 256라인 에러 대체

본문

이것이 팁일지는 모르겠습니다. ^^*

스마트폰으로 이미지를 업로드하면 자꾸 /lib/thumbnail.lib.php 256라인 에러로 뜨더라구요

고생하다 호스팅업체와 이야기하던중 해결 됬씀다.

혹시나 나같은 경우가 있으신분이 있을까 해서요


php 버전이나 gd 버전에 따라 지원되지 않거나 가끔 에러가 나는 경우가 있는데

imagerotate 함수가 그런 경우 입니다.

이럴때는 imagerotate  함수를 대처하여 사용할수있는 동일 기능을 구현할 수 있는데

http://php.net/manual/en/function.imagerotate.php

를 보면 예제 소스들이 많이 있으며 확인해 수정

/lib/thumbnail.lib.php  파일에 rotateImage 함수를 대처할  rotateImage 함수를

256라인    $src = imagerotate($src, $degree, 0); 을    $src = rotateImage($src, $degree); 로 수정

최하단에 아래 소스를 추가

function rotateImage($img1, $rec) {
    $wid = imagesx($img1);
    $hei = imagesy($img1);
    switch($rec) {
        case 270:
            $img2 = @imagecreatetruecolor($hei, $wid);
        break;
        case 180:
            $img2 = @imagecreatetruecolor($wid, $hei);
        break;
        default :
            $img2 = @imagecreatetruecolor($hei, $wid);
    }
    if($img2) {
        for($i = 0;$i < $wid; $i++) {
            for($j = 0;$j < $hei; $j++) {
                $ref = imagecolorat($img1,$i,$j);
                switch($rec) {
                    case 270:
                        if(!@imagesetpixel($img2, ($hei - 1) - $j, $i, $ref)){
                            return false;
                        }
                    break;
                    case 180:
                        if(!@imagesetpixel($img2, $i, ($hei - 1) - $j, $ref)) {
                            return false;
                        }
                    break;
                    default:
                        if(!@imagesetpixel($img2, $j, ($wid - 1) - $i, $ref)) {
                            return false;
                        }
                }
            }
        }
        return $img2;
    }
    return false;
}



===============  아래가 최하단 소스  ===================

    while(!feof($fh) && $count < 2) {
        $chunk = fread($fh, 1024 * 100); //read 100kb at a time
        $count += preg_match_all('#\x00\x21\xF9\x04.{4}\x00(\x2C|\x21)#s', $chunk, $matches);
  }

    fclose($fh);
    return $count > 1;
}

<---- 여기에 추가하면 되더라구요

?>
추천
0

댓글 2개

영카트 5.0.1최신버전에서
설면대로 변경 하고 삽입을 하니 에러는 없는데
모발로 첨부 화일을 올리면 사진이 왼편으로 180 돌아가서 올라가는데 해결 방법 없나요(세로긴사진만 그렇고 가로(옆으로)긴 사진은 정상 입니다

참고로 최신 버전에서는 라인이 373 라인 입니다
단 가로로 긴 사진은 이상이 없는데
세로로 긴 사진만 왼편으로 180도 돌아가서 보입니다
전체 2,431 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT