php下载文件
最近在项目中需要从指定的目录中下载指定的文件,发现不太会,在百度之后发现基本上的做法都是如下的代码
$file = fopen($filename, "r");
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: " . filesize($filename));
header("Content-Disposition: attachment; filename=" . $downloadfilename);
echo fread($file, filesize($filename));
fclose($file);
exit();
如上的代码就可以实现文件的下载
不刷新下载
由于在项目中在下载的时候进行权限认证,还要用ajax完成认证,并且要保证在不弹出窗口的情况下完成文件的下载,所以就想了下,不弹出窗口完成文件下载,就是需要一个隐藏的ifram
然后去指定这个ifram
的src
属性,就可以完成了.
var requestUrl = '/download/download?id=' + id;
var download = $("#download");
download.attr("src", requestUrl);
<iframe src="" id="download" style="display: none;"></iframe>