久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
php 文件下載源碼
[打印本頁]
作者:
haoren
時間:
2015-9-14 20:39
標題:
php 文件下載源碼
下載文件的方法:
實列一:
<?php
header
(
"Content-Type: text/html;charset=utf-8"
);
$file_name
=
"jdao.png"
;
//使用相對路徑
// $file_path = "./pic/".$file_name;
// 使用絕對路徑,下載速度要更快些
$file_path
=
$_SERVER
[
'DOCUMENT_ROOT'
].
"/pic/"
.
$file_name
;
if
(
!
file_exists
(
$file_path
)){
echo
"文件不存在"
;
return
;
}
$fp
=
fopen
(
$file_path
,
"r"
);
$file_size
=
filesize
(
$file_path
);
//echo $file_size;
header
(
"Content-Type: application/octet-stream"
);
//返回為文件形式
header
(
"Accept-Ranges: bytes"
);
header
(
"Accept-Length:
$file_size
"
);
header
(
"Content-Disposition: attachment; filecolor:#c82829">$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
);
// echo $file_path; 這句話不能放在下載前,否則就執行不了下載
?>
實例2:
為了兼容中文文件名不出現亂碼,并做成函數源碼如下:
<?php
//首行前不能空出
//文件下載參數說明
//$file_name: 下載文件名
//$file_sub_path: 子文件夾路徑
function
fileDown(
$file_name
,
$file_sub_path
){
//$file_name = iconv("utf-8","gb2312",$file_name); //IGNORE
$file_path
=
$_SERVER
[
'DOCUMENT_ROOT'
].
$file_sub_path
.
$file_name
;
if
(
!
file_exists
(
$file_path
)){
echo
"文件不存在"
;
return
;
}
$fp
=
fopen
(
$file_path
,
"r"
);
$file_size
=
filesize
(
$file_path
);
//下載文件的頭部分
header
(
"Content-Type: application/octet-stream"
);
//返回為文件形式
header
(
"Accept-Ranges: bytes"
);
header
(
"Accept-Length:
$file_size
"
);
//header("Content-Disposition: attachment; filewidth:14px;color:#8e908c">彈
出
下
載
對
話
框
//以下為了兼容中文文件名在不同瀏覽器中顯示而做如下修改
$ua
=
$_SERVER
[
"HTTP_USER_AGENT"
];
$encoded_filename
=
urlencode
(
$file_name
);
$encoded_filename
=
str_replace
(
"+"
,
"%20"
,
$encoded_filename
);
header
(
'Content-Type: application/octet-stream'
);
if
(
preg_match
(
"/MSIE/"
,
$ua
)) {
header
(
'Content-Disposition: attachment; filecolor:#c82829">$encoded_filename
.
'"'
);
}
else
if
(
preg_match
(
"/Firefox/"
,
$ua
)) {
header
(
'Content-Disposition: attachment; filename*="utf8
\'\'
'
.
$file_name
.
'"'
);
}
else
{
header
(
'Content-Disposition: attachment; filecolor:#c82829">$file_name
.
'"'
);
}
$buffer
=
11024
;
$file_count
=
0
;
while
((
!
feof
(
$fp
))
&&
(
$file_size
-
$file_count
>
0
)){
$file_data
=
fread
(
$fp
,
$buffer
);
$file_count
+=
$buffer
;
//把數據回送給瀏覽器
echo
$file_data
;
}
fclose
(
$fp
);
}
fileDown(
"電腦圖片.jpg"
,
"/pic/"
);
?>
測試文件下載
測試中文文件下載
將文件下載封裝在類文件里filedown.class.php,源碼如下
<?php
class
filedown{
protected
$file_name
;
public
$file_sub_path
;
function
__construct(
$file_name
,
$file_sub_path
){
$this
->
file_name
=
$file_name
;
$this
->
file_sub_path
=
$file_sub_path
;
}
function
fileDown(){
//$file_name = iconv("utf-8","gb2312",$file_name); //IGNORE
$file_path
=
$_SERVER
[
'DOCUMENT_ROOT'
].
$this
->
file_sub_path .
$this
->
file_name;
if
(
!
file_exists
(
$file_path
)){
echo
"文件不存在"
;
return
;
}
$fp
=
fopen
(
$file_path
,
"r"
);
$file_size
=
filesize
(
$file_path
);
//下載文件的頭部分
header
(
"Content-Type: application/octet-stream"
);
//返回為文件形式
header
(
"Accept-Ranges: bytes"
);
header
(
"Accept-Length:
$file_size
"
);
//header("Content-Disposition: attachment; filewidth:14px;color:#8e908c">彈
出
下
載
對
話
框
//以下為了兼容中文文件名在不同瀏覽器中顯示而修改的
$ua
=
$_SERVER
[
"HTTP_USER_AGENT"
];
$encoded_filename
=
urlencode
(
$this
->
file_name);
$encoded_filename
=
str_replace
(
"+"
,
"%20"
,
$encoded_filename
);
header
(
'Content-Type: application/octet-stream'
);
if
(
preg_match
(
"/MSIE/"
,
$ua
)) {
header
(
'Content-Disposition: attachment; filecolor:#c82829">$encoded_filename
.
'"'
);
}
else
if
(
preg_match
(
"/Firefox/"
,
$ua
)) {
header
(
'Content-Disposition: attachment; filename*="utf8
\'\'
'
.
$this
->
file_name .
'"'
);
}
else
{
header
(
'Content-Disposition: attachment; filecolor:#c82829">$this
->
file_name .
'"'
);
}
$buffer
=
11024
;
$file_count
=
0
;
while
((
!
feof
(
$fp
))
&&
(
$file_size
-
$file_count
>
0
)){
$file_data
=
fread
(
$fp
,
$buffer
);
$file_count
+=
$buffer
;
//把數據回送給瀏覽器
echo
$file_data
;
}
fclose
(
$fp
);
}
}
// $file1 = new filedown("電腦圖片.jpg","/pic/");
// $file1->filedown();
?>
演示多文件下載
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲久久在线
|
日韩黄色一级视频
|
亚洲福利网
|
最新国产精品视频
|
久久免费看视频
|
人人艹人人
|
国产欧美一区二区精品忘忧草
|
午夜国产在线观看
|
欧美日韩一区二区三区视频
|
午夜视频免费在线观看
|
美日韩精品
|
精品国产欧美一区二区三区成人
|
aaa亚洲
|
久久精品国产一区
|
亚洲伊人av
|
亚洲天堂网在线观看
|
中国黄色一级片
|
免费成人小视频
|
欧美视频一区二区三区
|
欧美日韩中文在线
|
成人免费看片
|
成人欧美一区二区三区黑人孕妇
|
国产免费福利
|
黄色片视频
|
91亚洲成人
|
久久嫩草
|
亚洲高清视频在线
|
成人在线一区二区
|
国产精品www
|
一级片免费
|
亚洲 欧美 另类 综合 偷拍
|
久久免费视频网站
|
av片免费
|
中文在线观看免费视频
|
亚洲天堂第一页
|
亚洲成人av
|
久久午夜精品
|
特黄一级视频
|
波多野吉衣一二三区乱码
|
久久精品一区二区三区不卡牛牛
|
国产精品久久久久久久久久久久久久久
|