PHP强制下载文件,PHP输出文件流
让浏览器直接下载文件,那么以下函数可以强制下载文件,函数中使用了application/octet-stream头类型。
通过访问一个地址读取文件输出到浏览器,进行下载
函数
/** * [getExtension PHP获取文件扩展名或后缀名] * @param [string] $filename [文件名称] * @return [string] [返回后缀名] * @author [建百站www.jianbaizhan.com] */ function download($filename){ if ((isset($filename))&&(file_exists($filename))){ //TODO: 大文件断点续传 header("Content-Description: File Transfer"); header('Content-type: application/octet-stream'); header('Content-Length:' . filesize($filename)); if (preg_match('/MSIE/', $_SERVER['HTTP_USER_AGENT'])) { //for IE header('Content-Disposition: attachment; filename="' . rawurlencode($filename) . '"'); } else { header('Content-Disposition: attachment; filename="' . $filename . '"'); } readfile("$filename"); } else { echo "file not exist!"; } }
使用
使用的时候注意文件的路径问题,建议用绝对路径,这些就不会出现一些找不到文件之类的错误。
download('WxpayAPI_php_v3.zip');
本文作者: Liaodeity
本文链接: https://www.jianbaizhan.com/article/240
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!