跳到主要內容

下載檔案但不直接開啟

多數人在下載檔案的頁面直接連結該檔案, 如下寫法 ----


a href="檔名.副檔名"


這在 windows 系統會有一個可能的狀況, 當此類型檔案與 windows 預設開啟功能產生關聯時(通常是以副檔名為判斷依據), 一點擊這個下載連結時, windows 就會自動啟動此類型檔案的程式並開啟此檔案, 例如:


下載的檔案為 demo.txt, 而 .txt 檔在 windows 預設的開啟程式為記事本, 所以一點擊此連結, windows 便會啟動記事本並開啟 demo.txt, 但實際上我們所希望的是真正的下載 demo.txt 並儲存在硬碟內.


要達到此目的, 我們需要另一個專門下載檔案的 PHP 小程式, 假設我們將這個小程式命名為 downloadfile.php, 其程式內容如下 ----




PHP 代碼:
<?php
$filename 
$_GET["name"]; //Obviously needs validation
  
ob_end_clean();
  
header("Content-Type: application/octet-stream; ");
  
header("Content-Transfer-Encoding: binary");
  
header("Content-Length: "filesize($filename).";");
  
header("Content-disposition: attachment; filename=" $filename);
  
readfile($filename);
  die();
  
?>


另外, 改寫原下載頁面的 html 語法 ----


a href="downloadfile.php?file=檔名.副檔名"

If such php file is located on the same server/website, then just open it as normal file, e.g.$fileContents = file_get_contents($filename);
If file is on another server, you have few possible options:
1) Access it via FTP (if you have login details and access)
2) Have special URL Rewrite rule on that server which will instruct web server to send file as plain text instead of executing it (e.g.somefile.php.txt)
3) Have special script on that server and by passing file name as a parameter it will return content of that file (e.g.http://example.com/showfile.php?file=somefile.php)

這個網誌中的熱門文章

正確設置404頁面及其他.505,500....

正確設置404頁面 404頁面的設置是否正確直接關係到網站粘性,而現在很多網站的錯誤頁面返回碼都是200和302,只要蜘蛛爬行錯誤頁面不是404,那麼你的404頁 面設置就是錯誤的了,這裡跟大家介紹如何正確設置404頁面。 怎麼正確設置404頁面?很多人看到這個話題可能覺得下文不屑一顧,其實你是否知道自己的404頁面有沒有設置正確呢?很多開源的cms系統和博客 系統都會帶有404頁面,你是不是覺得這樣已經ok了?不用設置了?這些想法是錯誤的,我們做優化的時候,應該測試404頁面時候生效,設置是否正 確等。下面我們詳細說明怎麼設置404頁面。 這先說一下怎麼樣的404頁面才是有效的404頁面。大家應該都知道搜索引擎是通過http狀態碼來識別網頁狀態的,那麼當蜘蛛檢索到一個錯誤鏈 接時,就需要返回404狀態碼來告訴搜索引擎,這個頁面是錯誤頁面,以後不用索取了。而如果返回200,則告訴搜索引擎這個頁面是正常頁面。 所以我們要查看網站錯誤頁面的返回碼是200還是404,而現在很多網站的404頁面返回碼是200而不是404.    那怎麼正確設置404頁面?

Mac OS X Server 架設兩個網站、兩個郵件伺服器

from:http://www.bnw.com.tw/conference/viewtopic.php?t=208 我的需求要更簡單。  朋友的工作室就兩三人而已,另外一個工作室也是兩三人。  希望有屬於自己的網站及網域名稱郵件  www.123.com   abc@123.com  

無法在Mac Os X 中移動、解除鎖定、修改或複製項目

您可能無法移動、複製或拖移項目。您可能無法解除鎖定一些項目。 秘訣 :如需刪除檔案與清空垃圾桶的說明,請另外參閲 無法清空垃圾桶或將檔案移至垃圾桶 。 本文件的主題屬於兩大常見問題之一。 秘訣 :有時無法從某個位置移動項目或將項目移至某個位置是正常的。Mac OS X 會限制某些檔案夾 (包括應用程式、程式庫以及系統) 的存取,以保持作業系統和使用者資料的完整性。 問題 1 如果您在 Mac OS X 10.2 或以上版本中試著移動檔案,然後出現訊息:「因為項目 (項目名稱) 已鎖定,所以無法完成此作業。」 如果您試著修改項目的權限,可能會出現訊息:「無法完成此作業,發生無法預期的錯誤 (錯誤碼 1)。」 如果您將一個卷宗拷貝成另一個卷宗,例如將卷宗的圖像拖移至另一個圖像上,或拖移至其所有的視窗之一,就可能會發生此問題。 問題 2 出現包含下列訊息之一的提示框: