그누보드로 제작된 갤러리 웹페이지에서 사진이 올라가질 않는데....

그누보드로 제작된 갤러리 웹페이지에서 사진이 올라가질 않는데....

QA

그누보드로 제작된 갤러리 웹페이지에서 사진이 올라가질 않는데....

본문

시놀로지의 NAS에 웹페이지를 탑재하여 사용해 오고 있었습니다.
얼마전 DSM 5.0으로 업되면서 PHP가 5.5.9 로 업그레이드가 되었네요.
그 후로 잘 되던 제 홈페이지에 사진을 새글로 올리면 텍스트는 올라가지만 사진은 올라가질 않습니다.
그누보드 4.36.11로 되어 있네요.

PHP 5.X.X로 업되면서 그 동안 사용되어지던 함수들이 사용할 수 없다는 이야기를 들었습니다.
그런 함수들 때문인 것 같은데,
사진을 올릴 때 사용되는 함수 중에서 PHP 5.X.X으로 업되면서 사용되지 않는 함수가 있나요?
그리고 그 함수를 어떻게 사용하면 될까요?

도움을 부탁드립니다.

지금 제 사이트는 http://sikphoto.com

이 질문에 댓글 쓰기 :

답변 3

저도 같은 문제로 고민했기에 도움이 될까해서 글 남깁니다. 
 
그누보드의 bbs 디렉토리 write_update.php에서 199~214번째 줄에서 문제가 있는 것 같습니다.
이미지나 플래시에 악성코드를 심어 업로드 하는 경우를 방지하기 위해 추가한 부분인데, 이 부분을 주석처리하여 동작하지 않도록 하면 이미지 파일이 정상적으로 올라갑니다.
 
저도 초보라 원인은 찾았지만 근본적인 해결책은 고수님들께 부탁드립니다.
 
 
 
 
 
 
 
 
아래부분을 모두 주석처리하면 되는 것인가요?


 //=================================================================\
        // 090714
        // 이미지나 플래시 파일에 악성코드를 심어 업로드 하는 경우를 방지
        // 에러메세지는 출력하지 않는다.
        //-----------------------------------------------------------------
        $timg = @getimagesize($tmp_file);
        // image type
        if ( preg_match("/\.($config[cf_image_extension])$/i", $filename) ||
             preg_match("/\.($config[cf_flash_extension])$/i", $filename) ) 
        {
            if ($timg[2] < 1 || $timg[2] > 16)
            {
                //$file_upload_msg .= "\'{$filename}\' 파일이 이미지나 플래시 파일이 아닙니다.\\n";
                continue;
            }
        }
        //=================================================================

악성코드가 포함된 그림파일을 필터링 해주는 부분이라

완전히 주석처리하기도 찜찜해서 아래와 같이 소스 두줄을 고쳤습니다.

동작은 합미다만,  악성코드가 포함된 그림파일을 필터링해 주는 기능에 대해선 자신이 없습니다.

잘 아시는 분이 도와주셨으면 좋겠습니다만......

      if ( preg_mach("/\.($config[cf_image_extension])$/i", $filename) ||
            preg_mach("/\.($config[cf_flash_extension])$/i", $filename) )

위 소스를 아래와 같이 수정하였습니다.

        if ( strpos($filename, "/\.($config[cf_image_extension])$/i" ) ||
            strpos($filename, "/\.($config[cf_flash_extension])$/i" ) )

아쉬운데로 동작은 합니다.

땅사랑님!

이상하게 저 같은 경우에는 종전에는 텍스트라도 게시판에 올라갔는데, 님께서 변경해 주신
write_update.php 의 소스를 

 if ( strpos($filename, "/\.($config[cf_image_extension])$/i" ) || 
            strpos($filename, "/\.($config[cf_flash_extension])$/i" ) ) 로 변경하여 보니,

파일도 올라가지 않지만, 그 곳에서 더 이상 진행이 되질 않습니다.
텍스트도 올리질 못하네요.

PHP를 읽을 수 없어 막막하네요.
언어를 다시 배워야 하나 싶습니다. 

도움을 좀 부탁합니다.
답변을 작성하시기 전에 로그인 해주세요.
전체 123,536 | RSS
QA 내용 검색

회원로그인

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