色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php強(qiáng)制下載類型的實(shí)現(xiàn)代碼

復(fù)制代碼 代碼如下:
function downloadFile($file){
/*Coded by Alessio Delmonti*/        
        $file_name = $file;
        $mime = 'application/force-download';
        header('Pragma: public');       // required
        header('Expires: 0');           // no cache
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Cache-Control: private',false);
        header('Content-Type: '.$mime);
        header('Content-Disposition: attachment; filename="'.basename($file_name).'"');
        header('Content-Transfer-Encoding: binary');
        header('Connection: close');
        readfile($file_name);           // push it out
        exit();
}

php將文件下載下來而不是超鏈接下載,這樣可以減少盜鏈的情況!將文件給瀏覽器讓瀏覽器下載

以txt類型為例

由于現(xiàn)在的瀏覽器已經(jīng)可以識(shí)別txt文檔格式,如果只給txt文檔做一個(gè)文字鏈接的話,點(diǎn)擊后只是打開一個(gè)新窗口顯示txt文件的內(nèi)容,并不能實(shí)現(xiàn)點(diǎn)擊下載的目的。當(dāng)然這個(gè)問題的解決辦法也可以是將txt文件改名為瀏覽器不認(rèn)識(shí)的文件(比如rar),這樣的話,由于瀏覽器不能識(shí)別rar類型的文件,只能讓用戶下載了。還有一種辦法,就是利用代碼通過header設(shè)置文檔的格式來實(shí)現(xiàn)點(diǎn)擊下載的目的。
php代碼如下:
復(fù)制代碼 代碼如下:
$filename = '/path/'.$_GET['file'].'.txt'; //文件路徑
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".basename($filename));
readfile($filename);

簡要說明:
第一個(gè)header函數(shù)設(shè)置Content-Type的值為application/force-download;
第二個(gè)header函數(shù)設(shè)置要下載的文件。注意這里的filename是不包含路徑的文件名,filename的值將來就是點(diǎn)擊下載后彈出對(duì)話框里面的文件名,如果帶路徑的話,彈出對(duì)話框的文件名就是未知的;
最后通過readfile函數(shù),將文件流輸出到瀏覽器,這樣就實(shí)現(xiàn)了txt文件的下載。

php技術(shù)php強(qiáng)制下載類型的實(shí)現(xiàn)代碼,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 昭通市| 西藏| 塔城市| 乳山市| 阳山县| 信宜市| 潼关县| 南开区| 永登县| 丁青县| 石楼县| 丰顺县| 栾川县| 黑龙江省| 江油市| 万安县| 家居| 内黄县| 霸州市| 福鼎市| 确山县| 八宿县| 女性| 凤庆县| 昂仁县| 云龙县| 桃江县| 察哈| 金秀| 巴中市| 化德县| 黎平县| 武鸣县| 廊坊市| 揭阳市| 达日县| 凯里市| 呼图壁县| 慈溪市| 红安县| 景德镇市|