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

PHP實現(xiàn)文件安全下載

你一定會笑我"下載文件"如此簡單都值得說?當(dāng)然并不是想象那么簡單。例如你希望客戶要填完一份表格,才可以下載某一文件,你第一個想法一定是用 "Redirect"的方法,先檢查表格是否已經(jīng)填寫完畢和完整,然后就將網(wǎng)址指到該文件,這樣客戶才能下載,但如果你想做一個關(guān)于"網(wǎng)上購物"的電子商務(wù)網(wǎng)站,考慮安全問題,你不想用戶直接復(fù)制網(wǎng)址下載該文件,筆者建議你使用php直接讀取該實際文件然后下載的方法去做。程序如下:

$file_name = "info_check.exe";
$file_dir = "/public/www/download/";
if (!file_exists($file_dir . $file_name)) { //檢查文件是否存在
echo "文件找不到";
exit;
} else {
$file = fopen($file_dir . $file_name,"r"); // 打開文件
// 輸入文件標(biāo)簽
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);
// 輸出文件內(nèi)容
echo fread($file,filesize($file_dir . $file_name));
fclose($file);
exit;}

而如果文件路徑是"http" 或者 "ftp" 網(wǎng)址的話,則源代碼會有少許改變,程序如下:

$file_name = "info_check.exe";
$file_dir = "http://www.easycn.NET/";
$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直接輸出文件了。 

php技術(shù)PHP實現(xiàn)文件安全下載,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 通许县| 虞城县| 桐梓县| 宕昌县| 新巴尔虎左旗| 兴山县| 开远市| 洪湖市| 河源市| 洛隆县| 凌海市| 江门市| 精河县| 崇明县| 靖宇县| 胶州市| 龙州县| 青河县| 巴彦县| 乾安县| 巨野县| 大丰市| 洞头县| 图片| 内丘县| 林芝县| 衡山县| 彭山县| 淳安县| 武隆县| 滨海县| 民勤县| 临清市| 克东县| 邹平县| 临泉县| 都匀市| 桓仁| 盘锦市| 新平| 敖汉旗|