2011-11-21 145 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