pdf标题的PHP下载程序


PHP downloader for pdf header?

我有一个php文件下载器,我一直在用它下载word文档,现在我需要允许它下载pdf,它不会打开说明pdf已损坏的文档。

我已经查找了内容类型,ect和t似乎对pdf是正确的,但是,我不确定它可能是什么。我是否缺少下载pdf所需的更多标题?我对这件事很陌生,所以我不确定所有可能的问题。

我的代码:

if ($fd = fopen ($fullPath, "r")) {
$fsize = filesize($fullPath);
$path_parts = pathinfo($fullPath);
$ext = strtolower($path_parts["extension"]);
switch ($ext) {
    case "pdf":
    header("Content-Type: application/pdf");
    header("Content-Disposition: attachment; filename='"".$path_parts["basename"]."'""); 
    break;
    case "docx":
    header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');
    header("Content-Disposition: filename='"".$path_parts["basename"]."'"");
    break;
    default;
    header("Content-type: application/octet-stream");
    header("Content-Disposition: filename='"".$path_parts["basename"]."'"");
    break;
}
    <?php
        header("Content-Type: application/pdf");
        header("Content-Type: application/x-download");
        header('Content-disposition: attachment; filename="test.pdf"');
        header('Content-length: ' . filesize('test.pdf'));
        readfile('test.pdf');

这对我每次都有效。你可以试试。