PHP實現(xiàn)瀏覽器文件下載圖片或者php文件需要通過header來輸出下載否則會進(jìn)行解析無法正確的下載文件哦,下面的我們就來看看吧。
超鏈接下載
如果瀏覽器支持超鏈接的方式下載文件,會在點(diǎn)擊超鏈接的時候自動下載文件。
下面我們來測試一下通過超鏈接下載文件:
<a href="/Uploads/test.zip">通過超鏈接的方式下載文件</a><br>
當(dāng)我們點(diǎn)擊的時候如下所示:
超鏈接下載文件
通過超鏈接下載圖片:
我們通過超鏈接下載圖片時,會直接在瀏覽器打開顯示,然后我們需要再存儲到指定路徑保存下來:
<a href="/Uploads/QC8054R7QPGQ_1000x500.jpg">通過超鏈接的方式下載圖片</a><br>
效果是這樣的:
超鏈接下載圖片
通過程序下載
HTML端一行代碼
<a href="download.php?filename=QC8054R7QPGQ_1000x500.jpg">通過程序的方式來下載圖片</a>
download.php代碼
我們是通過Header請求頭來發(fā)送文件下載信息,指定下載的是附件,下載后的文件名,content-length來指定文件的大小,然后通過readfile函數(shù)來讀取文件內(nèi)容而實現(xiàn)文件下載:
<?php
$filename = $_GET['filename'];
header('content-disposition:attachment;filename='. basename($filename));
header('content-length:'. filesize($filename));
readfile($filename);
效果如下: