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

회원메일 보내기 시 첨부파일 한글깨짐 문의드립니다. 채택완료

알랑 8년 전 조회 5,041

안녕하세요.

그누보드 4 utf-8 이용중에 있습니다.

회원메일 보낼 때 첨부파일을 보내고 있습니다.

 

// 첨부파일이 있을때 

for ($i=1; $i<=$attach; $i++) 

    if ($_FILES["file".$i][name]) 

       $file[] = attach_file($_FILES["file".$i][name], $_FILES["file".$i][tmp_name]); 

$_FILES["file".$i][tmp_name])); 

 

mailer($config[cf_title], $member[mb_email], $email, $subject, $content, 1, $file);

 

게시판 검색하여 mail_select_update.php을 수정했습니다. 첨부파일을 보내면 잘 보내지는데

첨부파일명이 한글일 경우 파일명이 �����hwp와 같이 깨져서 보내집니다. 

영문은 잘 보내지구요.

 

그래서 

$file[] = attach_file($_FILES["file".$i][name], $_FILES["file".$i][tmp_name]);  이 부분을  

$file[] = attach_file(iconv("UTF-8", "EUC-KR", $_FILES["file".$i][name], $_FILES["file".$i][tmp_name])); 이렇게 변경하여 시도해 보면 에러가 나서 첨부가 되지 않습니다. 

 

현재 utf-8에 설치가 되어 있는데요

 

도움 부탁드리겠습니다.

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

답변 2개

채택된 답변
+20 포인트
동화작가

iconv 로 해결 안될경우

 

1) urlencode 로 attach_file 함수에 보내고,

  $file[] = attach_file(urlencode($_FILES['file'.$i]['name']), $_FILES['file'.$i]['tmp_name']);

 

2) attach_file  함수에서  move_uploaded_file 처리후  urldecode 로 파일이름 바꿈.

function attach_file($filename, $tmp_name) {     // 서버에 업로드 되는 파일은 확장자를 주지 않는다. (보안 취약점)     $dest_file = ...

    move_uploaded_file($tmp_name, $dest_file);     $filename = urldecode($filename);     $tmpfile = array("name" => $filename, "path" => $dest_file);

    return $tmpfile; }

 

 

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

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

8년 전

iconv 인수 순서가 바뀐거 같은데요..

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

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

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

로그인