下载http的PHP实现方法
具体实现代码如下:
复制代码代码如下:< PHP
*
* php下载http
* /
功能dl_file_resume(文件){
/ /找到
如果(!is_file(文件)){死(404文件未找到!;};}
$ len =文件大小(文件); / /获取文件大小
为文件名= basename(文件); / /获取文件名
file_extension美元= strtolower(substr(strrchr($文件名,,
根据扩展点浏览器输出格式
开关($ file_extension){
案例exe:美元=应用型/字节流;打破;
案例拉链:美元=应用型/邮编;打破;
案例MP3:C型=音频美元/ MPEG;打破;
案例英里:美元=是视频/ MPEG;打破;
案例:AVI=视频是美元/ x-msvideo ;打破;
默认值:$ CType =应用/力下载;
}
开始写标题
标题(缓存控件);
标题(缓存控件:公共);
设置输出浏览器格式
标题(内容类型:$ C型);
如果(strstr($ _server { 'http_user_agent},MSIE){ / /)如果IE浏览器
IE文件名错误#多时段、多点在文件名的解决方法
这名#setup.abc.exe成为设置{ 1 }加方括号。abc.exe
iefilename美元= preg_replace(% 2 E',$文件名, / ,,substr_count($文件名')- 1);
标题(内容配置:依恋;文件名=iefilename美元);
{ { { }
标题()内容配置:附件;文件名文件名;
}
标头(接受范围:字节);
$大小=文件大小(文件);
/ /如果$ _server { 'http_range}参数
如果(isset($ _server { 'http_range ' })){
/ * ---------------------------
的头域范围标头字段可以请求一个或多个实体的子范围。比如说0-499字节= 500字节的第一个500字节:二说:字节= 500-999表示,最后的500个字节:字节= 500字节= 500字节范围:= 500:第一和最后一个字节:字节= 0-0,1和几个指定的范围:字节= 500-600601-999但服务器可以忽略这个请求,如果无条件获得包含范围请求,响应状态代码206(partialcontent)来代替200的回报(好的)。
--------------------------- * /
字节= 4390912至_server { 'http_range} /值后再连接断点
列表($,$范围)=爆炸( =)
如果是,下载丢失的部分
str_replace($美元范围,范围,); / /这句话什么…
美元:美元= size-1个; / /文件的总字节数
美元:美元new_length =美元范围; / /得到下一个下载的长度
页眉(1.1部分内容);
标题(内容长度:new_length美元); / /输入长度
标题(内容范围:字节范围: /美元美元美元大小);当 / /内容范围:字节4908618-4988927 / 4988928 95%
否则,{第一个连接
美元:美元= size-1个;
标题(内容范围:字节0美元/美元:大小); / /内容范围:字节0-4988927 / 4988928
页眉(内容长度:$ );总输出
}
打开文件
$ FP = fopen(文件
设置指针位置
fseek(fp美元,美元);
输出/不真实
而(!Feof($ FP)){
设置文件的最大执行时间
(0)set_time_limit;
打印(fread($ FP,1024×8)); / /输出文件
(刷新);输出缓冲区
ob_flush();
}
Fclose($ FP);
出口;
}
dl_file_resume(1。邮编); / /的1.zip文件目录
/ / ---------------------------------------
不支持HTTP文件下载。
/ / ---------------------------------------
downfile(1。邮编);
功能downfile($ sfilepath)
{
如果(file_exists($ sfilepath)){
afilepath美元=爆炸( / str_replace(
sFileName = {计数afilepath美元美元(美元afilepath)- 1 };
nfilesize美元=文件大小($ sfilepath);
标题()内容配置:附件;文件名。sFileName美元);
标题(内容长度:。nfilesize美元);
标题(内容类型:应用程序/字节流);
ReadFile($ sfilepath);
}
其他的
{
文件不存在!;
}
}
>
希望本文能对大家的PHP程序设计有所帮助。