亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

php實現文件下載功能的幾個代碼分享

2020-03-22 19:51:12
字體:
來源:轉載
供稿:網友
一個簡單的php文件下載源代碼,雖不支持斷點續傳等,但是可以滿足一些常用的需求了。php下載文件其實用一個a標簽就能實現,比如 a href="web/magento-1.8.1.0.zip" magento-1.8.1.0.zip /a 。但是遇到一些瀏覽器能識別的格式,比如.txt,.html,.pdf等,再用 a href="web/abc.txt" abc.txt /a 想必也知道會發生什么了。
復制代碼 代碼如下:
?php /**
* 文件下載
*
**/header("Content-type:text/html;charset=utf-8");
download('web/magento-1.8.1.0.zip', 'magento下載');function download($file, $down_name){
$suffix = substr($file,strrpos($file,'.'));//獲取文件后綴
$down_name = $down_name.$suffix;//新文件名,就是下載后的名字//判斷給定的文件存在與否
if(!file_exists($file)){
die("您要下載的文件已不存在,可能是被刪除");
}
$fp = fopen($file,"r");
$file_size = filesize($file);
//下載文件需要用到的頭
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length:".$file_size);
header("Content-Disposition: attachment; filename=".$down_name);
$buffer = 1024;
$file_count = 0;
//向瀏覽器返回數據
while(!feof($fp) && $file_count $file_size){
$file_con = fread($fp,$buffer);
$file_count += $buffer;
echo $file_con;
}
fclose($fp);
}?

也可以看看這個注釋比較詳細的代碼:復制代碼 代碼如下:
?php
//文件下載,下載一張圖片
//$file_name="Angel.mp3";$file_name="bjnihao.jpg"; //出現中文 程序無法完成下載 提示:文件不存在
//對文件進行轉碼(PHP文件函數 比較古老 需對中文碼轉成 gb2312)
//iconv — Convert string to requested character encoding
//by www.phpstudy.net
$file_name=iconv("utf-8","gb2312",$file_name);//設置文件下載路徑(相對路徑)
//$file_path="./dowm/".$file_name;//使用絕對路徑
$file_path=$_SERVER['DOCUMENT_ROOT']."/http/dowm/".$file_name;//打開文件---先判斷再操作
if(!file_exists($file_path)){

echo "文件不存在";
return ; //直接退出
}//存在--打開文件$fp=fopen($file_path,"r");

//獲取文件大小
$file_size=filesize($file_path);//http 下載需要的響應頭
header("Content-type: application/octet-stream"); //返回的文件
header("Accept-Ranges: bytes"); //按照字節大小返回
header("Accept-Length: $file_size"); //返回文件大小
header("Content-Disposition: attachment; filename=".$file_name);//這里客戶端的彈出對話框,對應的文件名//向客戶端返回數據
//設置大小輸出
$buffer=1024;//為了下載安全,我們最好做一個文件字節讀取計數器
$file_count=0;
//判斷文件指針是否到了文件結束的位置(讀取文件是否結束)
while(!feof($fp) && ($file_size-$file_count) 0){ $file_data=fread($fp,$buffer);
//統計讀取多少個字節數
$file_count+=$buffer;
//把部分數據返回給瀏覽器
echo $file_data;
}
//關閉文件fclose($fp);
?
封裝函數: ?php
/*
封裝函數:
參數說明----$file_name:文件名
$file_sub_dir:文件下載的子路徑
*/
function file_dowm($file_name,$file_sub_dir){
//文件轉碼
$file_name=iconv("utf-8","gb2312",$file_name); //使用絕對路徑
$file_path=$_SERVER['DOCUMENT_ROOT']."$file_sub_dir".$file_name; //打開文件---先判斷再操作
if(!file_exists($file_path)){

echo "文件不存在";
return ; //直接退出
} //存在--打開文件 $fp=fopen($file_path,"r");

//獲取文件大小
$file_size=filesize($file_path);
/*
//這里可以設置超過多大不能下載
if($file_size 50){
echo "文件太大不能下載";
return ;
}*/ //http 下載需要的響應頭
header("Content-type: application/octet-stream"); //返回的文件
header("Accept-Ranges: bytes"); //按照字節大小返回
header("Accept-Length: $file_size"); //返回文件大小
header("Content-Disposition: attachment; filename=".$file_name);//這里客戶端的彈出對話框,對應的文件名 //向客戶端返回數據
//設置大小輸出
$buffer=1024; //為了下載安全,我們最好做一個文件字節讀取計數器
$file_count=0;
//判斷文件指針是否到了文件結束的位置(讀取文件是否結束)
while(!feof($fp) && ($file_size-$file_count) 0){ $file_data=fread($fp,$buffer);
//統計讀取多少個字節數
$file_count+=$buffer;
//把部分數據返回給瀏覽器
echo $file_data;
} //關閉文件
fclose($fp);
}

file_dowm("bjnihao.jpg","/http/dowm/");
? 另一個代碼:復制代碼 代碼如下:
public function downloads($name){
$name_tmp = explode("_",$name);
$type = $name_tmp[0];
$file_time = explode(".",$name_tmp[3]);
$file_time = $file_time[0];
$file_date = date("Y/md",$file_time);
$file_dir = SITE_PATH."/data/uploads/$type/$file_date/";

if (!file_exists($file_dir.$name)){
header("Content-type: text/html; charset=utf-8");
echo "File not found!";
exit;
} else {
$file = fopen($file_dir.$name,"r");
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($file_dir . $name));
Header("Content-Disposition: attachment; filename=".$name);
echo fread($file, filesize($file_dir.$name));
fclose($file);
}
}
PHP教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久综合av爱欲tv| 欧美激情一二三| 国产精品亚洲一区二区三区| 欧美亚洲国产成人精品| 国产专区欧美专区| 欧美成人免费一级人片100| 久久久久久尹人网香蕉| 一本色道久久综合亚洲精品小说| 久久中文字幕在线视频| 伊人久久综合97精品| 欧美亚洲日本网站| 在线精品高清中文字幕| 国产午夜精品理论片a级探花| 日韩av在线免播放器| 亚洲国产小视频在线观看| 国产一区欧美二区三区| 一区二区三区无码高清视频| 欧美诱惑福利视频| 欧美在线性爱视频| 一区二区三区无码高清视频| 亚洲国产精品一区二区久| 国产美女被下药99| 亚洲xxxxx性| 亚洲欧美色图片| 神马国产精品影院av| 国产精品色婷婷视频| 国产91成人在在线播放| 777777777亚洲妇女| 日韩精品在线观看视频| 一本色道久久88综合亚洲精品ⅰ| 欧美日韩中文字幕在线视频| 欧美中文字幕视频| 日韩一级黄色av| 在线播放国产一区中文字幕剧情欧美| 国产精品自在线| 欧美性精品220| 午夜精品三级视频福利| 96pao国产成视频永久免费| 中日韩午夜理伦电影免费| 中文字幕亚洲综合| 91九色国产社区在线观看| 国模私拍一区二区三区| 久久精品免费电影| 69久久夜色精品国产69| 欧美洲成人男女午夜视频| 日本不卡高字幕在线2019| 欧美日韩久久久久| 成人免费看片视频| 久久久久亚洲精品| 欧洲午夜精品久久久| 亚洲免费视频观看| 国产裸体写真av一区二区| 91久久在线视频| 久久伊人91精品综合网站| 欧美一级大片在线免费观看| 久久人人爽人人爽人人片av高清| 国产精品极品尤物在线观看| 美女视频久久黄| 国产精品免费小视频| 国产精品福利网| 性色av一区二区三区免费| 98精品国产自产在线观看| 中文字幕v亚洲ⅴv天堂| 国产成人a亚洲精品| 亚洲精品美女在线观看| 欧美综合国产精品久久丁香| 91久久久久久久久久| 日韩女优人人人人射在线视频| 久久99亚洲精品| 日本久久精品视频| 亚洲欧美日韩精品久久亚洲区| 亚洲欧洲成视频免费观看| 日韩精品中文字| 成人黄在线观看| 5566日本婷婷色中文字幕97| 久久精品国产96久久久香蕉| 色偷偷噜噜噜亚洲男人的天堂| www国产精品视频| 亚洲成人精品视频在线观看| 国产精品电影久久久久电影网| 亚洲xxx自由成熟| 亚州精品天堂中文字幕| 欧美日韩福利在线观看| 日韩亚洲综合在线| 在线看福利67194| 91情侣偷在线精品国产| 久久久久久久久久av| 国产欧美日韩中文字幕在线| 亚洲一区二区三区xxx视频| 国产福利视频一区| 一本色道久久88精品综合| 97在线看免费观看视频在线观看| 疯狂做受xxxx欧美肥白少妇| 亚洲18私人小影院| 国外成人免费在线播放| 一级做a爰片久久毛片美女图片| 国产主播欧美精品| 亚洲欧美中文日韩v在线观看| 91牛牛免费视频| 亚洲自拍偷拍色图| 亚洲人免费视频| 亚洲理论电影网| 亚洲国产精品热久久| 国产91成人video| 国产精品美女免费| 成人午夜在线视频一区| 精品偷拍各种wc美女嘘嘘| 欧美高跟鞋交xxxxhd| 欧美极品欧美精品欧美视频| 久久精品国亚洲| 欧美另类极品videosbest最新版本| 国产精品视频最多的网站| 97视频在线观看成人| 欧美激情aaaa| 欧美精品videosex牲欧美| 在线视频亚洲欧美| 国产亚洲激情视频在线| 亚洲级视频在线观看免费1级| 国产91网红主播在线观看| 亚洲男人7777| 欧美激情视频在线| 国产精品久久久久久久久粉嫩av| 亚洲国产一区二区三区四区| 国产欧美精品一区二区三区-老狼| 日韩国产精品亚洲а∨天堂免| 久久资源免费视频| 一夜七次郎国产精品亚洲| 欧美视频第一页| 亚洲国产欧美在线成人app| 国产精品精品一区二区三区午夜版| 国内精品模特av私拍在线观看| 亚洲欧美中文日韩在线| 精品国产一区二区在线| 亚洲欧美激情在线视频| 国产精品成人在线| 国产精品精品一区二区三区午夜版| 国产91露脸中文字幕在线| 色综合久久88色综合天天看泰| 日韩在线观看你懂的| 91久久精品国产91久久| 国产成人a亚洲精品| 97视频在线观看网址| 欧洲成人在线视频| 91免费人成网站在线观看18| 中文字幕亚洲一区二区三区| 欧美贵妇videos办公室| 亚洲欧美国产va在线影院| 97视频免费在线观看| 欧美尺度大的性做爰视频| 最近2019年中文视频免费在线观看| 日本aⅴ大伊香蕉精品视频| 69**夜色精品国产69乱| 欧洲美女免费图片一区| 91在线精品播放| 亚洲视频欧洲视频| 在线精品国产成人综合| 97视频国产在线| 欧美日韩黄色大片| 久久精彩免费视频| 成人国产精品久久久| 日韩视频免费观看| 久久久97精品| 黑人巨大精品欧美一区二区一视频| 91高清视频免费观看|