程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php如何實現對各種件下載

php如何實現對各種件下載

編輯:關於PHP編程

如果我們僅使用<a href='文件路徑/文件名'>下載</a>或者js的window.location = '文件路徑/文件名',且文件類型為浏覽器能識別的,那麼浏覽器將會直接打開文件而不是彈出下載框下載文件,比如'.txt','.conf','.bin'文件等。當然js的document.execCommand('SaveAs','mycodes.txt')(第二個參數為要保存為的文件名)也能實現下載,但它兼容性不好,firefox下無效。這時如果你的環境支持php語言,那麼你可以用header()來實現文件下載:

先看簡單實例:

同目錄下有兩個文件index.php,test.php與供下載文件adam.txt:

test.php文件內容:

<?php

$filename = $filename = 'adam.txt';
echo "<a href='index.php?filename=".$filename."'>下載</a>";

?>

index.php文件內容:

<?php

$filename = $_REQUEST['filename'];

header("Content-Type:text/plain");
header('Content-Disposition:attachment;filename='.$filename);
header('Content-Transfer-Encodeing: binary');
readfile($filename);

?>

當你打開test.php並單擊下載時將實現對adam.txt文件的下載。

同理,我們也可以實現對.jpg,.zip,.rar,.pdf等文件實現下載,這時只需把index.php中的header("Content-Type:text/plain")稍做修改,比如下面所示

header("Content-Type:application/zip");//zip或者rar

header("Content-Type:application/pdf");//pdf

header("Content-Type:image/jpeg");//圖片

header("Content-Type:audio/mpeg"); 


摘自 adamboy

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved