download.php / 아이폰에서 hwp파일 깨짐
본문
아이폰에서 한글파일을 다운로드 받을 때 다운로드파일로 처리되지 않고
브라우저에서 그대로 외계어로 열려버리는 현상이 발현되어
애를먹다가 아래 방법으로 해결을 하였습니다.
해당문제는 예전에 IE에서 한글파일 받을 때 보던 문제인데...
아무튼 몇시간동안 이것저것 시도해보다가
파일이름을 인코드하는 과정에서 일단 실마리를 찾았습니다.
$original = rawurlencode($file['bf_source']);
IE에서 파일이름에 공백 등을 처리하기위해 rawurlencode()나 urlencode()를 쓰는데
이 함수를 쓰지 않고 그대로
$original = $file['bf_source'];
로 하였더니 신기하게 정상적으로 다운이 되더군요
그래서
if (preg_match('~MSIE|Internet Explorer~i', $ua) || (strpos($ua, 'Trident/7.0') !== false && strpos($ua, 'rv:11.0') !== false))
{
// do stuff for IE
$original = rawurlencode($file['bf_source']);
}
else if(preg_match("/Edge/",$ua))
{
// do stuff for Edge
$original = rawurlencode($file['bf_source']);
}
else
{
// safari, chrome and firefox, etc...
$original = $file['bf_source'];
}
...
일단 여러가지 IE와 비 IE를 분기하여 코드를 짜게 되었는데
일단 잘은 동작하는데...
제가 프로그래밍을 전문적으로 하지 않아 이게 적절한 처리인지 난감하네요...
저와같은 현상 경험하신 분 계실까요??
위와같은 처리가 다른 문제를 야기하지는 않을까요???
!-->!-->!-->
답변을 작성하시기 전에 로그인 해주세요.