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

여분필드 첨부파일 한글깨짐 채택완료

ghwn1111 6년 전 조회 4,182

if (isset($_FILES['mb_5']) && is_uploaded_file($_FILES['mb_5']['tmp_name'])) {     if (preg_match("/(\.gif|jpg|png|jpeg)$/i", $_FILES['mb_5']['name'])) {                      // 파일 용량이 설정값보다 이하만 업로드 가능             @mkdir($mb_dir, G5_DIR_PERMISSION);             @chmod($mb_dir, G5_DIR_PERMISSION);             $dest_path = $mb_dir.'/'.$_FILES['mb_5']['name'];             $newName = $mb_id.'.jpg';             $newPath = $mb_dir.'/'.$newName;

            // 수정시 기존파일 삭제             @unlink($mb_dir.'/'.iconv("UTF-8","EUC-KR",$newName));             $sql = " update {$g5['member_table']} set mb_5 ='' where mb_id='$mb_id'" ;             sql_query($sql);                          // 파일업로드            move_uploaded_file($_FILES['mb_5']['tmp_name'], iconv("UTF-8","EUC-KR",$dest_path));             chmod(iconv("UTF-8","EUC-KR",$dest_path), G5_FILE_PERMISSION);                   $size = @getimagesize($dest_path);             if ($size[0] >= $config['cf_member_img_width']){                         $thumb = thumbnail($_FILES['mb_5']['name'], $mb_dir, $mb_dir, $config['cf_member_img_width'], $config['cf_member_img_height'], true, true);                        @unlink($dest_path);                        rename($mb_dir.'/'.$thumb, $newPath);             }else{                  rename($dest_path, $newPath);             }             // 파일명 여분필드에 업데이트             $sql = " update {$g5['member_table']} set mb_5 ='$newName' where mb_id='$mb_id'" ;             sql_query($sql);

    } else {         $msg .= $_FILES['mb_5']['name'].'은(는) 이미지파일이 아닙니다.';     } }

 

상단코드처럼 여분필드 mb_5에 첨부파일을 받아 파일을 업로드하면 영어파일명은 잘 올라가는데

 

한글파일명은 깨져서 적용되더라구요ㅠㅠ 파일자체가 손상되서 열리지도 않고 ㅠㅠ 

 

어떻게 해결하면 될까요? 도움 부탁드립니다! 감사합니다!!

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

답변 1개

채택된 답변
+20 포인트
L
6년 전

 위 소스를 보면 iconv("UTF-8","EUC-KR",  이런 변환코드가 많이 보여지는데.. 이것이 왜 필요한지 모르겠  네요..  iconv 가 사용된 부분들의 iconv 함수를 모두 삭제하시고 해보세요.

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

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

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

로그인