PHP下載文件(隱藏真實的下載地址)

        

有時咱們須要隱藏真實的文件下載地址,防止惡意下載,咱們能夠採用下面的方法(參考網絡,侵權請告知)網絡


如下爲引用的內容:app

$file_name = "example.exe";spa

$file_dir = "/public/www/download/";ci

if (!file_exists($file_dir . $file_name)) { //檢查文件是否存在get

        echo "文件未找到";it

        exit; io

} else {stream

        $file = fopen($file_dir . $file_name,"r"); // 打開文件 file

        // 輸入文件標籤下載

        Header("Content-type: application/octet-stream");

        Header("Accept-Ranges: bytes");

        Header("Accept-Length: ".filesize($file_dir . $file_name));

        Header("Content-Disposition: attachment; filename=" . $file_name);

        // 輸出文件內容

        echo fread($file,filesize($file_dir . $file_name));

        fclose($file);

        exit;

}


而若是文件爲遠程文件,則原始碼會有少量改動,程式以下:


如下爲引用的內容:

$file_name = "example.exe";

$file_dir = "http://back.zhizhi123.com/"; 

$file = @ fopen($file_dir . $file_name,"r"); 

if (!$file) {

    echo "文件未找到";

} else {

    Header("Content-type: application/octet-stream");

    Header("Content-Disposition: attachment; filename=" . $file_name);

    while (!feof ($file)) {

    echo fread($file,50000);

}

fclose ($file);

}

這樣就能用PHP直接輸出文件了。 

原文連接: http://back.zhizhi123.com/?p=136

相關文章
相關標籤/搜索