php如何?對各種檔案下載_PHP教程

來源:互聯網
上載者:User
如果我們僅使用下載或者js的window.location = '檔案路徑/檔案名稱',且檔案類型為瀏覽器能識別的,那麼瀏覽器將會直接開啟檔案而不是彈出下載框下載檔案,比如'.txt','.conf','.bin'檔案等。當然js的document.execCommand('SaveAs','mycodes.txt')(第二個參數為要儲存為的檔案名稱)也能實現下載,但它相容性不好,firefox下無效。這時如果你的環境支援php語言,那麼你可以用header()來實現檔案下載:

先看簡單一實例:

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

test.php檔案內容:

$filename = $filename = 'adam.txt';
echo "下載";

?>

index.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

http://www.bkjia.com/PHPjc/478349.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/478349.htmlTechArticle如果我們僅使用a href=檔案路徑/檔案名稱下載/a或者js的window.location = 檔案路徑/檔案名稱,且檔案類型為瀏覽器能識別的,那麼瀏覽器將會直接打...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.