我在php文档中使用以下代码强制下载pdf表单,因为只有在本地计算机上提交后才能在线提交。
它下载文件确定但它会破坏它。 我再也无法打开pdf文档了。
<?php
$file_name = 'costumer.pdf';
$file_url = 'http://www.lopezi.com/forms/' . $file_name;
header('Content-Type: application/pdf');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"".$file_name."\"");
readfile($file_url);
?>
答案 0 :(得分:1)
在这种情况下,不需要Content-Transfer-Encoding
标头。此外,我怀疑你输出的文件中有腐败。
将它下载到某处,打开记事本,然后将文件拖到那里。如果生成了任何PHP警告或错误,您将在顶部看到它们。
另外,尽量避免从脚本中返回更多内容的选项,导致下载问题,最终结果如下:
die(file_get_contents($file_url));
这样,您就不会通过添加更多输出来轻易地破坏代码。