我有一些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);
我读到设置内联的处理应该修复它,但没有好处。有什么想法吗?
答案 0 :(得分:0)
我试着评论你的帖子,但我是一个溢出的菜鸟。我只是想分享一些谷歌搜索结果。你试过@readfile吗?
Show a PDF files in users browser via PHP/Perl
http://php.net/manual/en/function.readfile.php
希望它有所帮助!
答案 1 :(得分:0)
内容类型应为'application / pdf',浏览器会将其识别为pdf并将其打开。
答案 2 :(得分: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>"; }
}