簡體   English   中英

將文件下載到特定文件夾中

[英]download file in a specific folder

我有一個鏈接,可以讓我在網頁中下載文本文件,但問題是我希望用戶能夠選擇將文件保存在哪里,我的意思是當他單擊鏈接時應打開一個窗口,以便他可以將文件保存到他喜歡的任何地方,誰能告訴我該怎么做? 謝謝 。 這是我的代碼的一部分:

$fichierres=fopen('res.txt','a');
ftruncate($fichierres,0); 
...
fputs($fichierres, $t."\r\n");
...
fclose($fichierres);
echo'   <div style="text-align:center"><br>  <button id="download" width="100px" class="styled-button-8"><a href="res.txt" download="res.txt" style="color: #FFFFFF"><b>Download</b></a></button></div><br>';

大多數瀏覽器會自動打開它們可以讀取的任何文件-確切地說它們應該如何工作。 這包括.txt文件,您無法采取任何措施來防止這種情況。

您可以做的是將鏈接作為錨點( <a href="/myfile.txt">Download</a> ),並在鏈接旁邊提供一條消息,告訴用戶“右鍵單擊/另存為。”。 。”下載-這將使他們可以保存文件而不是下載。

右鍵菜單中的確切選項在不同的瀏覽器中會有所不同,但這始終與“將鏈接另存為...”類似。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html

19.5.1內容處置

已經提出了Content-Disposition響應標頭字段,作為原始服務器在用戶請求將內容保存到文件時建議默認文件名的一種方式。 這種用法源自RFC 1806 [35]中Content-Disposition的定義。

 content-disposition = "Content-Disposition" ":" disposition-type *( ";" disposition-parm ) disposition-type = "attachment" | disp-extension-token disposition-parm = filename-parm | disp-extension-parm filename-parm = "filename" "=" quoted-string disp-extension-token = token disp-extension-parm = token "=" ( token | quoted-string ) 

一個例子是

 Content-Disposition: attachment; filename="fname.ext" 

在PHP中,您可以使用header函數發送此標頭。 請注意,必須在發送任何數據之前調用此方法。

header('Content-Disposition: attachment; filename="fname.ext"');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM