php - How to force download of a file?(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 - 如何强制下载文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:php - 如何强制下载文件?
基础教程推荐
- 如何在 Laravel 5.3 注册中添加动态下拉列表列? 2021-01-01
- 如何替换eregi() 2022-01-01
- Cron Jobs 调用带有变量的 PHP 脚本 2022-01-01
- 在PHP中根据W3C规范Unicode 2022-01-01
- 学说 dbal querybuilder 作为准备好的语句 2022-01-01
- PHP 类:全局变量作为类中的属性 2021-01-01
- YouTube API v3 点赞视频,但计数器不增加 2022-01-01
- 如何在 Laravel 中使用 React Router? 2022-01-01
- PHP PDO MySQL 查询 LIKE ->多个关键词 2021-01-01
- 有什么方法可以用编码 UTF-8 而不是 Unicode 返回 PHP`json_encode`? 2021-01-01
