欢迎访问芦艺网!

强制文件流下载,PHP文件流下载

php

网站的下载功能是经常使用的,如何通过动态地生成文件或让已经存在的文件以流的形式传输到用户端呢?下面就介绍两种通过强制流下载的方式来实现。

方法一:使用 APACHE服务器 HTACCESS文件的命令进行强制流下载。
1. 首先需要在 apache 的配置文件 httpd.conf 中开启 mod_headers.so 模块
2. 在网站的根目录下,配置 htaccess 命令:
Options +FollowSymLinks +ExecCGI

  ForceType application/octet-stream
  Header set Content-Disposition attachment

方法二:通过PHP程序来实现文件以流进行下载

参照1:

参照2:
forceDownload("pdfdemo.pdf"); 
function forceDownload($filename) { 
    if (false == file_exists($filename)) { 
        return false; 
    } 
    // http headers 
    header('Content-Type: application-x/force-download'); 
    header('Content-Disposition: attachment; filename="' . basename($filename) .'"'); 
    header('Content-length: ' . filesize($filename)); 
    // for IE6 
    if (false === strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6')) { 
        header('Cache-Control: no-cache, must-revalidate'); 
    } 
    header('Pragma: no-cache'); 
    // read file content and output 
    return readfile($filename);
}
​以上就是强制文件流下载的两种常见的处理办法。

发表评论

关闭菜单