3

我有一些只有会员才能访问的 PDF(他们必须登录才能获得它们)。我想让它们显示在浏览器中,而不是显示一个对话框,要求保存/打开文件。PDF 存储在常规根目录之外。这是代码:

$filepath='/var/www/vhosts/Reports/';
$filename='CA.pdf';
header('Content-Disposition:inline; filename="'.$filename.'"');
header('Content-type:application/octet-stream');
header('Pragma:no-cache');
header('Expires:0');
if ($file=fopen($filepath.$filename,'r')) {
fpassthru($file);
fclose($file);

我读到将配置设置为内联应该可以解决它,但没有好处。有任何想法吗?

4

3 回答 3

0

我试图对你的帖子发表评论,但我是个菜鸟。我只是想分享一些谷歌搜索结果。你试过@readfile 吗?

通过 PHP/Perl 在用户浏览器中显示 PDF 文件

使用 PHP 在浏览器中打开 PDF

http://php.net/manual/en/function.readfile.php

希望能帮助到你!

于 2012-11-29T16:14:28.277 回答
0

内容类型应该是“application/pdf”,浏览器会将其识别为 pdf 并将其打开。

于 2012-11-29T16:16:50.673 回答
0
$file = "../../somewherebehindthatroot/FileName.pdf";

if ( file_exists($file) ) {     
    
    if (copy($file, "OpenThisFile.pdf")) { echo "<br /><br /><a href='OpenThisFile.pdf'  target='_blank'>Open File...</a>"; }
            
}
于 2020-10-09T18:41:34.073 回答