>  기사  >  php教程  >  下载文件--针对大多数的文件类型

下载文件--针对大多数的文件类型

PHP中文网
PHP中文网원래의
2016-05-25 16:58:531155검색

下载文件--针对大多数的文件类型

function forceDownLoad($filename='' ,$data=''){
     if($filename==''  OR  $data==''){  return false; }
     if(FLASE === strpos($filename,'.')){
        return false;
     }
     $x = explod('.',$filename);
     $extension = end($x);
     $mimes = array('hqx'=>'application/mac-binhex40','cpt'=>'application/mac-compactpro','csv'=>'text/x-comma-separated-values','text/csv','application/csv','application/excel','application/vnd.msexcel','bin'=>'application/macbinary','dms'=>'application/octet-stream','lha'=>'application/octet-stream','lzh'=>'application/octect-stream','exe'=>array('application/octet-stream'));

if(!isset($mimes[$extension])){  $mime = 'application/octet-stream'; }
else{ $mime = (is_array($mimes[$extension]); ))?$mimes[$extension][0]: $mimes[$extension]; }

header('Content-type:"'. $mime.'"');
$tmpName = $filename;
$filename = '"''.urlencode($tmpName)."'; ////IE 中文名支持
if(strstr(strtolower($_SERVER['HTTP_USER_AGER']),'firefox') !=false){   $filename='" .$tmpName."';}  /////Firefox 中文支持
if(strstr(strtolower($_SERVER['HTTP_USER_AGER']),'chrome') !=false){   $filename='" .$tmpName."';}  /////Chrome 中文支持

header('Content-Disposition:attachment; filename='. $filename);
header('Expires:0');
header('Cache-Control: must-revalidate,post-check=0,pre-check=0');
header('Content-Transfer-Encoding:binary');
header('Pragma:no-cache');
header('Content-Length:'.strlen($data));

exit($data);
}

                   

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.