2012-03-04 47 views
3

比方說,我有我的服務器上的文件:如何從一個按鈕服務器下載文件單擊

server/myFile.txt 

我怎樣才能讓用戶用一個按鈕下載點擊? 我錯過了一個簡單的解決方案嗎?

我使用jQuery & PHP如果對於一個解決方案。

感謝, 阿龍

+1

jquery觸發('點擊')在一個隱藏的鏈接? – Johan 2012-03-04 21:40:11

+1

我知道如何做$('#myLink')。click(function(){});我的問題是我寫什麼來使文件下載命令 – Alon 2012-03-04 21:41:22

回答

3

如果要強制「另存爲」對話框中打開您的Web服務器配置爲輸出作爲一個可讀的文件文件類型(你不想改變配置),您需要創建一個修改頭文件的文件,以便瀏覽器創建這樣一個對話框。

請參閱readfile的php文檔中的第一個示例。

然後,您將創建一個PHP文件,該文件可以通過正常的a href鏈接訪問,該鏈接將發送相應的標題並輸出myFile.txt

+0

這就是我一直在尋找! – Alon 2012-03-04 22:23:43

4

我不知道如果我誤解你的問題,否則它應該是簡單的:

<a href="link/to/file">download file</a> 

你不應該需要用js或php可言, Apache或任何其他您正在使用的網絡服務器應自行處理下載。只需讓用戶直接從服務器上下載它即可。

+1

我想有一個按鈕,說「下載文件」,當我點擊它,然後文件將被下載到用戶的計算機,如下所示:http:// www .mozilla.org/EN-US /火狐/新/。 href attr只會將我重定向到文件位置,但不會下載文件。 – Alon 2012-03-04 21:46:55

+0

您使用的是什麼webserver?如果您使用的是Apache,那麼您可以使用http://www.thingy-ma-jig.co.uk/comment/7186中描述的技術強制下載,否則它也可以通過http:// www .ryboe.com/tutorials/php-headers-force-download – Nick 2012-03-04 21:52:56

+0

也許最好指定「link/to/file」應該是基於你的網站的鏈接。例如,如果您的網站位於/var/www/www.mywebsite.com下,並且該文件將在/var/www/www.mywebsite.com/files/myfile.txt下進行下載,則「鏈接/到/文件「應該是」http://www.mywebsite.com/files/myfile.txt「。如果您使用基本路徑(即「/var/www/www.mywebsite.com/files/myfile.txt」),您將以「http://www.mywebsite.com/var/www/」結尾www.mywebsite.com/files/myfile.txt「這不是正確的道路。 – 2014-01-08 17:52:06

相關問題