php 下载文件 header (问:PHP 中如何使用 header 下载文件?)

在 PHP 开发中,文件下载是一个常见的需求。PHP 提供了 header 函数来控制响应头信息,从而实现文件下载的功能。本文将介绍如何在 PHP 中使用 header 函数下载文件。

一、准备要下载的文件

首先,我们需要确定要下载的文件路径,例如我们要下载的文件路径为 /var/www/html/test.pdf。

二、使用 header 函数设置响应头信息

接下来,我们使用 header 函数设置响应头信息,告诉浏览器需要下载文件。

php
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="test.pdf"');
header('Content-Length: ' . filesize('/var/www/html/test.pdf'));

上面的代码中,设置了三个响应头信息:

  • Content-Type:指定了下载文件的 MIME 类型。由于下载的文件类型可能是多种类型,因此这里使用了 application/octet-stream,表示下载的文件为二进制文件。
  • Content-Disposition:指定了下载的文件名称和需要提示下载。attachment 表示告诉浏览器需要下载文件,而不是直接在浏览器中打开。
  • Content-Length:指定了下载文件的大小。由于下载文件的大小可能是变化的,因此需要通过 PHP 的 filesize 函数来获取。

三、输出文件内容

设置了响应头信息后,我们需要输出文件内容,可以使用 PHP 的 readfile 函数来完成:

php
readfile('/var/www/html/test.pdf');

最后,完整的代码如下:

“`php
<?php
$file = '/var/www/html/test.pdf';

if (file_exists($file)) {
header(‘Content-Type: application/octet-stream’);
header(‘Content-Disposition: attachment; filename=”test.pdf”‘);
header(‘Content-Length: ‘ . filesize($file));
readfile($file);
} else {
echo ‘文件不存在!’;
}
?>
“`

通过上面的代码,我们就可以在 PHP 中实现文件下载的功能。

如有侵犯您的权益请邮件发送:rainpro@foxmail.com,站长看到会第一时间处理
客栈猫 » php 下载文件 header (问:PHP 中如何使用 header 下载文件?)

提供最优质的资源集合

立即查看 了解详情