我有点问题。在我的服务器上,我在公共文件夹外保存了几个pdf文件。我想在我的网站上显示这些文件。
显示我现在使用的pdf的代码:
$pdf = '/var/www/vhosts/domain.com/users/'.$_GET['file'];
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="'.$pdf.'"');
readfile($pdf);
我现在所做的是通过iFrame显示它们但在IE8上我会收到将文件保存到我的电脑的消息。在chrome和IE9上没有问题。
有没有更好的方法来显示pdfs?
答案 0 :(得分:3)
请查看此问题,用户与您有同样的问题: Show a PDF files in users browser via PHP/Perl
我还有一份安全通知:
这:$pdf = '/var/www/vhosts/domain.com/users/'.$_GET['file'];
可能极其危险,想象一下如果有人修改你的url参数,如下所示:
yoursite.php?FILE = .. / .. / index.php的
如果您在这里不是很小心,人们可以从您的服务器下载其他文件......所以在使用之前请小心并验证您的$ _GET ['文件']。
此致
答案 1 :(得分:0)
我想如果你离开你:content-disposition:inline并将其更改为content-disposition:filename =“'。$ pdf。'”浏览器将决定如何处理PDF。如果安装了pdf插件,它将使用该插件。
答案 2 :(得分:-1)
$pdf = '/var/www/vhosts/domain.com/users/'.$_GET['file'];
header('Content-Disposition: inline; filename="'.$pdf.'"');// download header
readfile($pdf) //read our file and shows on website