2014-01-20 58 views
0

我正在編寫一個註冊表單,並且需要在複選框旁邊包含一個pdf文件。 pdf文件包含用戶在發送表單之前需要同意的重要信息。當您單擊複選框旁邊顯示的文件名時,瀏覽器必須詢問您是否要查看或下載文件。如何在註冊表中包含可下載的PDF?

我該如何認識到這一點?

+0

你可以使用條件語句,如果滿足所有要求,你可以使用['include'](http://www.php.net/manual/en/function.include.php)或show(回聲)隱藏文件的鏈接,放置在公共文件夾之外。 –

+1

'IMPORTANT PDF'?可以肯定的是,將處理標題添加到pdf中 – DanFromGermany

+0

與您的問題無關,但我會將內容放在可滾動的div中,以便在所有設備上閱讀。您可以隨時通過郵寄PDF註冊後發送。 – jeroen

回答

0

的方式,我會去,這是創建一個下載目錄「/下載」裏邊有把你想要的任何文件,用下面的代碼

<?php 
$file = 'http://example.com/download/' . $_GET['file']; //Thanks DanFromGermany! 
if($file == 'http://example.com/download/index.php'){die;} 
$file_headers = @get_headers($file); 

if(substr_count($file_headers[0], '404 Not Found') || substr_count($file_headers[0], '410 Gone')){ 
    exit; 
} else { 
    if($file == 'http://example.com/download/index.php'){die;} 
    header ("Content-type: octet/stream"); 
    header ("Content-disposition: attachment; filename=".$_GET['file'].";"); 
    header("Content-Length: ".filesize($file)); 
    readfile($file); 
    header('Location: http://example.com/thanks'); //send them to a thanks page or close the window, whatever works for you 
    exit; 
} 
?> 

廣場命名的index.php的PHP文件下載(read_this.pdf)然後將它們鏈接如下

<a href="/download?file=read_this.pdf" target="_blank">Download this PDF</a> 

您指出了與該文件的任何文件名被放在裏面的「/下載將強制他們的瀏覽器下載它

但是我編輯我同意Jeroen關於把它放在一個可滾動div的建議。要做到這一點,該文件將需要HTML,但你可以使用像http://www.pdftohtml.net/這樣的東西,使HTML看起來就像PDF一樣。當我試圖強迫我下載某個網站時,我親自離開了一個網站,因爲你永遠不知道它會是什麼。我只在給某人一個文件下載時使用這種方法。否則,希望這是你正在尋找的。

+0

應該指出,您的示例爲每個人提供了下載服務器上任何文件的可能性。例如'/ download?file = config.php' – DanFromGermany

+0

@DanFromGermany對不起,我完全忽略了,那是更好的嗎? – zfb

+0

你只是在PHP中完成一個web服務器的工作,如果你把PDF放在'/ downloads'目錄中,並且用''鏈接到這個文件,你會得到相同的結果(減去重定向)和你沒有使用PHP來完成Web服務器所能做的工作。 –

相關問題