회원메일 보내기 시 첨부파일 한글깨짐 문의드립니다.
본문
안녕하세요.
그누보드 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
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;
}
iconv 인수 순서가 바뀐거 같은데요..