php - 如何强制下载文件?
我希望在我的一个网站上的每个视频下方添加下载此文件"功能.我需要强制用户下载文件,而不仅仅是链接到它,因为有时会开始在浏览器中播放文件.问题是,视频文件存储在单独的服务器上.
I'm looking to add a "Download this File" function below every video on one of my sites. I need to force the user to download the file, instead of just linking to it, since that begins playing a file in the browser sometimes. The problem is, the video files are stored on a separate server.
有什么办法可以强制在 PHP 中下载吗?
Any way I can force the download in PHP?
推荐答案
你可以试试这样的:
$file_name = 'file.avi';
$file_url = 'http://www.myremoteserver.com/' . $file_name;
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename="".$file_name.""");
readfile($file_url);
exit;
我刚刚测试了它,它对我有用.
I just tested it and it works for me.
请注意,要使 readfile
能够读取远程 url,您需要拥有 fopen_wrappers
已启用.
Please note that for readfile
to be able to read a remote url, you need to have your fopen_wrappers
enabled.
相关文章