客戶端的瀏覽器通過HTTP協議可以實現文件下載;
方法一:
能提供用戶下載的最簡單的方法就是使用一個<a></a>標簽,比如在頁面中添加這么一行代碼
1 <a href="test/php/123.zip">點擊即可下載</a>
只要用戶在瀏覽器中一點擊鏈接就能達到下載的目的,但是這只能針對與瀏覽器不能直接打開的文件,比如壓縮包,可執行文件......
如果是圖片,聲音,視頻等文件,瀏覽器都是能直接打開的,再用上面的方法,就會直接在瀏覽器中打開展示提供給用戶,此時就得使用另外一種方法了。
方法二:
在給出文件路徑之前,要先通過header()函數將修改HTTP協議中的實體首部字段中某些字段的值
比如,要提供一張圖片(123.png)給用戶下載,那么只需下面的幾行代碼
1 $filename="123.png"; 2 header("Content-Type:image/png"); 3 header("Content-Disposition:attachment;filename=".$filename); 4 header("Content-Length".filesize($filename)); 5 readfile($filename);
下面是常用的文件類型MIME碼:
header("Content-Type:text/html;charset=utf-8");
header("Content-Disposition:attachment;filename=".$filename);
header("Content-Type: image/jpg");
header("Content-Type:image/png");
header("Content-Type:image/gif");
header("Content-Type:image/jpeg");
header("Content-Type:image/x-png");
header("Content-Type:text/txt");
header("Content-Type:text/plain");
header("Content-Type:text/html");
header("Content-Type:audio/basic");
header("Content-Type:audio/x-m4a");
header("Content-Type:video/mpeg");
header("Content-Type:application/zip");
header("Content-Type:application/x-tar");
header("Content-Type:application/x-gz");
header("Content-Type:application/msword");
header("Content-Type:application/powerpoint");
header("Content-Type:application/vnd.ms-excel");
header("Content-Type:application/x-msdownload");
這只是一個示例,至於怎么用,可以自己修改的哈
