18
2013-01

php强制下载文件

<?php
function dl_file($file)
{
    //检查文件是否存在
    if (!is_file($file)) { die("<b>404 File not found!</b>"); }
    //收集文件信息
    $len = filesize($file);
    $filename = basename($file);
    $file_extension = strtolower(substr(strrchr($filename,"."),1));
    //判断媒体类型 Content-Type
    switch( $file_extension )
    {
        case "pdf": $ctype="application/pdf"; break;
        case "exe": $ctype="application/octet-stream"; break;
        case "zip": $ctype="application/zip"; break;
        case "doc": $ctype="application/msword"; break;
        case "xls": $ctype="application/vnd.ms-excel"; break;
        case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
        case "gif": $ctype="image/gif"; break;
        case "png": $ctype="image/png"; break;
        case "jpeg":
        case "jpg": $ctype="image/jpg"; break;
        case "mp3": $ctype="audio/mpeg"; break;
        case "wav": $ctype="audio/x-wav"; break;
        case "mpeg":
        case "mpg":
        case "mpe": $ctype="video/mpeg"; break;
        case "mov": $ctype="video/quicktime"; break;
        case "avi": $ctype="video/x-msvideo"; break;
        //敏感文件和禁止下载的文件类型
        case "php":
        case "htm":
        case "html":
        case "txt": die("<b>Cannot be used for ". $file_extension ." files!</b>"); break;
        default: $ctype="application/force-download";
    }
    //发送头信息
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: public");
    header("Content-Description: File Transfer");
    //设置媒体类型
    header("Content-Type: $ctype");
    //强制下载
    $header="Content-Disposition: attachment; filename=".$filename.";";
    header($header );
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".$len);
    @readfile($file);
    exit;
}
dl_file('e:/1.jpg');
?>

除非注明,文章均为史亚永原创,欢迎转载!转载请注明本文地址,谢谢。

本文地址:http://www.shiyayong.cn/post/php-forced-download.html

评论列表:

2  多语言网站制作  2013-1-18 16:14:38 回复该留言  IP:120.32.221.62
你讲的这个是放在自己的网站上,然后用户打开能直接强制他们下载是吗?
  茶馆老板  2013-1-18 17:30:29 回复该留言  IP:124.205.133.34
是啊,只要他打开这个页面就会强制下载该文件
  多语言网站制作  2013-1-18 17:37:12 回复该留言  IP:222.76.181.237
收藏了
多语言网站制作
茶馆老板
多语言网站制作
1  四五网  2013-1-18 11:24:46 回复该留言  IP:111.74.233.87
强制下载???...
  茶馆老板  2013-1-18 11:31:38 回复该留言  IP:124.205.133.34
嗯是啊
  四五网  2013-1-18 11:37:42 回复该留言  IP:111.74.233.87
不好吧,感觉不厚道的说。
四五网
茶馆老板
四五网

发表评论:

(设置个性头像)

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

无觅相关文章插件,快速提升流量