• 技术文章 >后端开发 >php教程

    adobe flash player 9.0下载 php强制下载类型的实现代码

    2016-07-29 08:44:50原创1007

    复制代码 代码如下:


    function downloadFile($file){
    /*Coded by Alessio Delmonti*/
    $file_name = $file;
    $mime = 'application/force-download';
    header('Pragma: public'); // required
    header('Expires: 0'); // no cache
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Cache-Control: private',false);
    header('Content-Type: '.$mime);
    header('Content-Disposition: attachment; filename="'.basename($file_name).'"');
    header('Content-Transfer-Encoding: binary');
    header('Connection: close');
    readfile($file_name); // push it out
    exit();
    }


    php将文件下载下来而不是超链接下载,这样可以减少盗链的情况!将文件给浏览器让浏览器下载
    以txt类型为例
    由于现在的浏览器已经可以识别txt文档格式,如果只给txt文档做一个文字链接的话,点击后只是打开一个新窗口显示txt文件的内容,并不能实现点击下载的目的。当然这个问题的解决办法也可以是将txt文件改名为浏览器不认识的文件(比如rar),这样的话,由于浏览器不能识别rar类型的文件,只能让用户下载了。还有一种办法,就是利用代码通过header设置文档的格式来实现点击下载的目的。
    PHP代码如下:

    复制代码 代码如下:


    $filename = '/path/'.$_GET['file'].'.txt'; //文件路径
    header("Content-Type: application/force-download");
    header("Content-Disposition: attachment; filename=".basename($filename));
    readfile($filename);


    简要说明:
    第一个header函数设置Content-Type的值为application/force-download;
    第二个header函数设置要下载的文件。注意这里的filename是不包含路径的文件名,filename的值将来就是点击下载后弹出对话框里面的文件名,如果带路径的话,弹出对话框的文件名就是未知的;
    最后通过readfile函数,将文件流输出到浏览器,这样就实现了txt文件的下载。

    以上就介绍了adobe flash player 9.0下载 php强制下载类型的实现代码,包括了adobe flash player 9.0下载方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:thinkpade400578mdc ThinkPHP采用模块和操作分析 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 设计API接口时,要注意这些地方!• PHP网站常见一些安全漏洞及防御方法• 一个分页的论坛_PHP教程• php 中文处理函数集合_php技巧• PHP编程中的__clone()方法使用详解_PHP
    1/1

    PHP中文网