2011-11-21 147 views
2

我有一个小问题。在我的服务器上,我有几个pdf文件保存在公用文件夹之外。我想在我的网站上显示这些文件。在网站上显示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上没有问题。

是否有更好的方式来显示PDF文件?

+0

是你的问题解决了,或者我们可以进一步的详细信息,帮助吗? – Grrbrr404

回答

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

如果你在这里不是很小心,人们可以从你的服务器下载其他文件...所以请仔细并验证你的$ _GE T ['file']在使用之前。

问候

0

我认为,如果你离开你:内容处置:内联并将其更改为内容处置:“‘$ PDF’”文件名=浏览器将决定如何处理PDF做。如果安装了pdf插件,它将使用该插件。

+1

不幸的是,这也不起作用。在IE8上,我仍然收到“Internet Explorer阻止此站点将文件下载到您的计算机”的消息。安装Adobe reader 10 ... –

+0

这不是ie8的具体问题吗? – Arend

-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