php pdf下载已损坏


php pdf download getting corrupt

我有一个强制下载pdf文件的代码。下方的代码

$file_name = 'Bv_Ebook.pdf';
$file_url = 'http://' .$_SERVER['HTTP_HOST'].'/sites/default/files/'. $file_name;
header('Content-Type: text/html');
header("Content-Transfer-Encoding: Binary"); 
header("Content-disposition: attachment; filename='"".$file_name."'""); 
readfile($file_url);

这段代码在我们的测试版服务器上运行,pdf已经下载并可以打开。

在我们的实时服务器上,相同的代码下载pdf,但pdf文件无法打开,上面写着:

无法打开文档不支持文件类型的纯文本文档(文本/纯文本)

我已经进行了强制下载pdf和apache头设置,但似乎什么都不起作用。

你知道问题出在哪里吗?

使用is_readable()检查文件权限以检查文件是否可访问。如果可访问,请检查以下内容:

你能试着把你的标题修改成以下吗:

//We'll be outputting a PDF.
header('Content-type: application/pdf');
//PDF name.
header('Content-Disposition: attachment; filename="'.$file_name.'"');

然后进行文件读取或其他操作,在我的情况下,我使用file_get_contents(file_path)+echo来显示内容,并发挥了魅力。