PHP不在Google Chrome中显示PDF文件

时间:2014-08-28 08:01:35

标签: php google-chrome pdf

我想使用此代码在浏览器中显示PDF文件

<?php
    $file = './path/to/the.pdf';
    $filename = 'Custom file name for the.pdf'; /* Note: Always use .pdf at the end. */

    header('Content-type: application/pdf');
    header('Content-Disposition: inline; filename="' . $filename . '"');
    header('Content-Transfer-Encoding: binary');
    header('Content-Length: ' . filesize($file));
    header('Accept-Ranges: bytes');

    @readfile($file);
?>

代码在Firefox中运行良好,但在Chrome中运行良好。我还没有在任何其他浏览器中测试过。这是Chrome的错误吗?无论如何,我可以制作它,以便在Firefox和Chrome中显示?

4 个答案:

答案 0 :(得分:1)

这取决于您的浏览器设置,而不是代码。通常默认情况下,firefox会在浏览器中打开pdf,而不是chrome

答案 1 :(得分:1)

只需将内容处置更改为附件

即可
 header('Content-Disposition: attachment;; filename="' . $filename . '"');

这不会在浏览器中显示PDF,但在Chrome中似乎有效。

答案 2 :(得分:0)

之前我遇到过同样的问题,但并非所有计算机都有问题。就我而言,我使用Adobe或默认的Chrome PDF阅读器进行了一些设置。检查您的设置。

答案 3 :(得分:0)

$file只是文件的路径而没有文件名本身吗?在这种情况下你应该使用:

header('Content-Length: ' . filesize("$file/$filename"));