업로드 이미지파일 이름이 한글이름일 경우 제대로 표시 안되는 것 해결방법 > 그누3 팁자료실

그누3 팁자료실

업로드 이미지파일 이름이 한글이름일 경우 제대로 표시 안되는 것 해결방법 정보

그누호환 업로드 이미지파일 이름이 한글이름일 경우 제대로 표시 안되는 것 해결방법

본문

갤러리등에서 이미지 파일명이 한글로 된 파일을 올릴경우
이미지가 제대로 안보이거나 익스플로러 옵션에서 utf-8로 보냄을 꺼도 팝업이미지 보기에서는
이미지가 제대로 안보이는 등의 문제가 있어서 적당한 꽁수를 찾아서 적용해봤습니다.
gbupdate.php 파일을 열어서 130번행 근처를 보시면 ..

        // php_x 와 같은 방법으로 스크립트 실행을 하지 못하게 하였으나 abc.php._x 는 실행되는 버그가 있음
        $filename = preg_replace($source, $target, $filename);
        // 접두사를 붙인 파일명
        $upload[$i] = $prefix . $filename

이런 부분이 나오는데 아래처럼 코드를 수정,추가 해주시면 됩니다.

        // php_x 와 같은 방법으로 스크립트 실행을 하지 못하게 하였으나 abc.php._x 는 실행되는 버그가 있음
        $filename = preg_replace($source, $target, $filename);
        // 접두사를 붙인 파일명
$ext=strstr($filename,"."); //추가되는 부분
$filename = !ereg_replace("[a-zA-Z0-9]","", $filename); //추가되는 부분
        $upload[$i] = $prefix . $filename . $ext; //수정되는 부분

이렇게 적용한 결과 익스플로러에서 utf-8옵션을 키던 끄던, 파일명이 한글이던 영문이던 썸네일을 사용하던 않던, 팝업이던 아니던지 이미지를 제대로 보여줍니다. 당연한 것이지만 서버에 파일이 저장될때 업로드하는 원본 파일과는 다른 이름으로 저장이 되는데 다운로드 받으실 경우에는 원래 파일명으로 받아집니다. 제가 php초짜라 보다 좋은 방법을 알고계시면 부탁드리겠습니다.
추천
0

댓글 전체

위에 팁을 좀 보강했습니다. 이미지파일(확장자 jpg,gif,bmp,png) 일 경우에만
파일명을 변경하는 것이고 변경되는 파일명은 그누보드에서 파일 업로드시 생성되는 기본접두사에 업로드되는 파일명 대신 img로 표시됩니다. 물론 다운로드 링크를 통해서 받을 경우
파일명은 업로드되는 파일명으로 받게 되니 문제는 없으리라고 봅니다.

if(eregi("\.jpg",$filename)||eregi("\.gif",$filename)||eregi("\.bmp",$filename))
{
$ext=strstr($filename,".");
$filename = "img";
    $upload[$i] = $prefix . $filename . $ext;
    $dest_file = "./data/file/$bo_table/$upload[$i]";
   
@mkdir("./data/file/$bo_table", 0707);
        @chmod("./data/file/$bo_table", 0707);
        move_uploaded_file($tmp_file, $dest_file) or die($HTTP_POST_VARS["wr_file$i"][error]);
        chmod($dest_file, 0606);

        $is_up[$i] = true;
} else {

        $upload[$i] = $prefix . $filename;
        $dest_file = "./data/file/$bo_table/$upload[$i]";

        @mkdir("./data/file/$bo_table", 0707);
        @chmod("./data/file/$bo_table", 0707);
        move_uploaded_file($tmp_file, $dest_file) or die($HTTP_POST_VARS["wr_file$i"][error]);
        chmod($dest_file, 0606);

        $is_up[$i] = true; }

소소코드에 대해선 제가 제대로 php를 배우거나 공부하질 않아서 코드가 좀 지저분할 것입니다만...^^; 모로가도 서울만 가면된다구....--;;; 여러분들의 가르침 바랍니다. 그럼..
^^ 감사합니다. 즐거운 클스마스되세요~
익스플로러 옵션에서 utf-8 설정을 끄고 사용할 경우 일반적인 게시판에선 큰 문제 없이 한글 파일명의 이미지를 볼수있지만, 팝업리사이즈 스크립트를 이용한 갤러리들의 경우  팝업으로 뜬 이미지가 보였다 안보였다를 반복하는 현상이 있어서 그문제를 해결하려고 생각해낸 방법인데요 도대체 왜 그런 현상이 생기는지 알아내려고 노력했는데 통 모르겠네요..--;
정확히 교대로 반복되더군요.. 한번은 팝업으로 이미지가 제대로 뜨고 창닫고 다시 클릭해서 띄우면 이미지 안뜨고...--;
전체 1,026
그누3 팁자료실 내용 검색

회원로그인

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