首页 >后端开发 >php教程 >php下载文件的函数示例(图文)

php下载文件的函数示例(图文)

WBOY
WBOY原创
2016-07-25 08:57:04979浏览
分享一个php下载函数,用于下载指定的文件,不限文件格式。有需要的朋友参考下。

php下载文件的函数举例,如下:

<?php
/**
* php下载文件
* $filename=$_SERVER['DOCUMENT_ROOT']."/test/file/20130503/20130503150036_85945.doc";
* $title="下载测试9";
* down($filename,$title);
* edit by bbs.it-home.org
*/ 
//$filename 必须是路径,不是url
 function down($filename,$title=''){
     $file = fopen($filename,"r"); 
     $filesize = filesize($filename);
     $encoded_filename = urlencode($title);
     $encoded_filename = str_replace("+", "%20", $title);
     $ua = $_SERVER["HTTP_USER_AGENT"];
     if (preg_match("/MSIE/is", $ua)) {  
         $file_name = urlencode($title);
         header("Pragma: public"); header("Expires: 0");
         header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
         header("Content-Type: application/force-download");
         header('Content-Type: application/vnd.ms-excel; charset=utf-8');
         header("Content-Transfer-Encoding: binary");
         header('Content-Disposition: attachment; filename='.$file_name);
     } else {
        header('Content-Type: application/octet-stream');
         if (preg_match("/Firefox/is", $ua)) {  
            header('Content-Disposition: attachment; filename*="utf8\'\'' . $title . '"');
         } else {  
            header('Content-Disposition: attachment; filename="' . $title . '"');
         }
     }
    echo fread($file, $filesize);
    fclose($file);
}
?>

运行效果如下图: php下载文件的函数



声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn