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 许可协议。转载请注明出处!