首页 >后端开发 >php教程 >如何使用 PHP 强制下载文件?

如何使用 PHP 强制下载文件?

Linda Hamilton
Linda Hamilton原创
2024-12-24 04:55:14726浏览

How Can I Force a File Download Using PHP?

使用 PHP 强制下载文件

导航到网页时,如何使用 PHP 强制下载文件?

解决方案:

PHP 提供了一个为此,调用了 readfile() 函数。通过配置标头并利用 readfile(),我们可以触发下载。

实现:

  1. 配置标头:
    设置以下标题以提示download:

    header('Content-Type: application/octet-stream');
    header("Content-Transfer-Encoding: Binary"); 
    header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\""); 
    • Content-Type: 指定文件类型(例如 ZIP 文件的 application/zip)。
    • Content-传输编码: 确保传输二进制数据
    • Content-disposition: 设置“附件”选项以启动下载,并使用 basename() 函数指定文件名以从 URL 中提取文件名。
  2. 使用readfile():
    使用readfile()读取文件内容并发送给浏览器:

    readfile($file_url); 
  3. 示例:
    要从“http://example.com/go.exe”下载名为“go.exe”的文件,请使用以下命令代码:

    $file_url = 'http://example.com/go.exe';
    header('Content-Type: application/octet-stream');
    header("Content-Transfer-Encoding: Binary"); 
    header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\""); 
    readfile($file_url); 

附加说明:

  • 确保根据文件类型设置适当的 Content-Type 标头。
  • 使用标头(位置)触发下载可能会导致执行停止,而不是页面停止重定向。

以上是如何使用 PHP 强制下载文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn