php를 이용해 zip파일 다운로드시 윈도 기본 압축 및 알집에서 제대로...
- 공유 링크 만들기
- 이메일
- 기타 앱
php를 이용해 zip파일 다운로드시 윈도 기본 압축 및 알집에서 제대로...
php를 이용해 zip파일 다운로드시 윈도 기본 압축 및 알집에서 제대로 열리지 않는 문제
php를 이용해 서버상의 파일을 다운로드 하도록 했을 때, 일반적인 파일을 여는데엔 문제가 없으나 zip 압축파일을 열 때 아래와 같은 오류와 함께 압축을 풀 수 없는 현상이 있습니다.
특이한 점은 반디집 으로는 정상적으로 열리는데, 알집이나 윈도8이상의 기본 압축도구로는 열리지 않는 문제입니다.
php의 다운로드 소스는 대략 다음과 같습니다.
function mb_basename ( $path ) { return end ( explode ( '/' , $path )); }
function utf2euc ( $str ) { return iconv ( "UTF-8" , "euc-kr" , $str ); }
function is_ie () {
if (! isset ( $_SERVER [ 'HTTP_USER_AGENT' ])) return false ;
if ( strpos ( $_SERVER [ 'HTTP_USER_AGENT' ], 'MSIE' ) !== false ) return true ; // IE8
if ( strpos ( $_SERVER [ 'HTTP_USER_AGENT' ], 'Trident' ) !== false ) return true ; // IE11
return false ;
}
$fp = $_REQUEST [ 'fp' ]; // filename
// 폴더명 지정
$filepath = "/data/report/" . $fp ;
$filesize = filesize ( $filepath );
$filename = mb_basename ( $filepath );
if ( is_ie () ) $filename = utf2euc ( $filename );
header ( "Pragma: public" );
header ( "Expires: 0" );
//header("Content-Type: application/octet-stream");
header ( "Content-Disposition: attachment; filename= \" $filename \" " );
header ( "Content-Transfer-Encoding: binary" );
header ( "Content-Length: $filesize " );
readfile ( $filepath );
from http://blog.lotiony.com/51 by ccl(S) rewrite - 2020-03-06 18:20:20
- 공유 링크 만들기
- 이메일
- 기타 앱
댓글
댓글 쓰기