php - 如何强制下载文件? [英] php - How to force download of a file?

查看:25
本文介绍了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.

这篇关于php - 如何强制下载文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆