본문 바로가기

Story/php

IE 에서 파일 다운로드 처리시 에러처리 (firefox 에서 공백이 들어간 파일명 잘릴경우)

반응형

이 인터넷 사이트를 열 수 없습니다. 요청한 사이트를 사용할 수 없거나 찾을 수 없습니다. 나중에 다시 시도하십시오
또는
Internet Explorer was not able to open this Internet site.  The requested site is either unavailable or cannot be found.  Please try again later.

와 같은 메세지가 나올때 처리방법
헤더값에 Cache-Control max-age=0 로 셋팅해준다.
<?
   Header("Content-type: file/unknown");
   Header("Content-Length: ".(string)(filesize("$fullpath")));
   Header("Content-Disposition: attachment; filename=\"$filename\"");
   Header("Content-Description: PHP3 Generated Data");
   Header("Pragma: no-cache");
   Header("Expires: 0");
   Header("Cache-Control: max-age=0");
.......
?>

한가지 더 firefox 에서 공백이 들어간 파일명이 잘릴경우가 있다
위의 예에서 filename=\"$filename\" 이 부분을 보통 filename=$filename 처럼 양쪽에 "를 빼먹는경우가 많다.
이것은 표준에 위배되는것으로 "로 감싸주는것이 표준이다.

firefox 에서는 이 문제를 수정하지 않고 표준을 따르라고 했다는거 같다.
반응형

'Story > php' 카테고리의 다른 글

whois 조회하기  (0) 2011.03.05
pear 설치  (0) 2010.08.23
문자열에서 아이피 주소만 추출하기  (0) 2009.10.21
실명인증 - 한국신용평가정보(주) php  (1) 2009.10.06
php zip 으로 파일 압축하기  (0) 2009.06.27