【发布时间】:2013-01-07 04:32:55
【问题描述】:
我正在尝试发送 PDF 文件。这是正在执行的代码:
$file_path = '/path/to/file/filename.pdf'
$file_name = 'filename.pdf'
header("X-Sendfile: $file_path");
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename='$filename'");
readfile($file_path):
每当我直接下载文件时,都可以。但是,当我尝试通过此脚本下载文件时,下载的文件无法打开。我的 pdf 阅读器告诉我它无法打开“text/plain”类型的文件。我也尝试将 Content-type 设置为 application/pdf ,但我得到了同样的错误。我在这里做错了什么?
【问题讨论】:
-
这很奇怪,前几天晚上我正在编写一个类似的脚本,
header('Content-type: application/pdf');为我和readfile一起工作。你确定路径正确吗? -
附带说明,您可能希望在标题行中使用
$file_name,而不是在您的sn-p 中不存在的$filename? -
header(...; filename='$file_name'");_。 -
另外,确保您拥有该文件的权限可能是个好主意,并且使用
is_readable确实存在该文件,这只是一个提示,希望对您有所帮助!
标签: php pdf http-headers mime-types