首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >php -如何强制下载文件?

php -如何强制下载文件?
EN

Stack Overflow用户
提问于 2009-02-10 06:51:41
回答 6查看 59.5K关注 0票数 22

我希望添加一个“下载此文件”功能下面的每个视频在我的网站之一。我需要强制用户下载文件,而不是仅仅链接到它,因为这有时会开始在浏览器中播放文件。问题是,视频文件存储在单独的服务器上。

有没有办法在PHP中强制下载?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-02-10 06:53:35

您可以尝试如下所示:

代码语言:javascript
复制
$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;

我刚刚测试了一下,它对我来说很有效。

请注意,为了使readfile能够读取远程url,您需要启用您的fopen_wrappers

票数 49
EN

Stack Overflow用户

发布于 2015-05-08 13:07:16

测试过的download.php文件是

代码语言:javascript
复制
function _Download($f_location, $f_name){
  $file = uniqid() . '.pdf';

  file_put_contents($file,file_get_contents($f_location));

  header('Content-Description: File Transfer');
  header('Content-Type: application/octet-stream');
  header('Content-Length: ' . filesize($file));
  header('Content-Disposition: attachment; filename=' . basename($f_name));

  readfile($file);
}

_Download($_GET['file'], "file.pdf");

要下载的链接是

代码语言:javascript
复制
<a href="download.php?file=http://url/file.pdf"> Descargar </a>
票数 5
EN

Stack Overflow用户

发布于 2009-02-10 07:57:18

试试这个:

代码语言:javascript
复制
<?php
$FileName = '/var/ww/file.txt';
header('Content-disposition: attachment; filename="'.$FileName.'"');
readfile($FileName);

关键是header()。您需要将标题与下载一起发送,它将强制在用户的浏览器中显示“保存文件”对话框。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/531292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档