php下载原理

原创 2013年12月04日 14:29:24

       php下载原理:用户向服务器端发送一个下载文件的请求,服务器端响应之后,在内存中打开,读取文件信息,关闭文件,基本是这个步骤的。

       比如下载一个文件名为win.jpg的文件,在下载页面的代码中就需要先判断if(file_exists($文件名)),不存在的话提示文件不存在,存在的话就继续往下面执行,打开文件,用fopen($filename)函数打开文件,用filesize()函数判断一下文件大小。接下来的这段:

//返回文件(告诉浏览器)

header("Content-type:application/octet-stream");
 //按照字节大小返回
 header("Accept-Ranges:bytes");
 //返回文件的大小
 header("Accept-Length:$file_size");
 //弹窗,对应的文件名
 header("Content-Disposition:attachment;filename=".$file_name);

然后定义一个$buffer,就是每次读文件的大小,

while(!feof($fp)){
 
 $fil= fread($fp,$buffer);
 echo $fil;
 }

feof函数时候判断是否到达文件结尾了,然后就用fread()函数开始读取数据,每次读取数据量为$buffer,这个$buffer一般是以字节为单位的,可以直接设置数字的。读完之后别忘了给浏览器返回结果。

最后用fclose()关闭文件。

中文乱码问题用iconv("utf-8","gb2312",$filename)解决。
   

PHP下载远程文件原理

/** * PHP下载远程文件到本地原理:通过PHP函数,先读取远程文件,然后在本地创建一个新的空文件, * 然后将已读取的远程文件的内容写入到新创建的文件当中,这样就可以达到远程文件下载功能...

php 文件下载 断点续传 原理

php文件下载 文件下载就是把文件从服务器上面下下来,比如一个文件是http://www.xxx.com/1.rar(真实存在这个文件),直接在浏览器上面输入,是可以弹出下载对...
  • wtcsy
  • wtcsy
  • 2012年12月24日 23:31
  • 2520

php文件下载原理

php文件下载实例: $filename="1.jpg"; /* 如果文件名是中文加上这一句,否则找不到文件 $filename = iconv("utf-8","gb2312"...

php网站架构原理与案例分析_PDF

  • 2017年11月29日 15:14
  • 36.38MB
  • 下载

微博URL短网址生成算法原理及(java版、php版实现实例)

短网址(Short URL),顾名思义就是在形式上比较短的网址。通常用的是asp或者php转向,在Web 2.0的今天,不得不说,这是一个潮流。目前已经有许多类似服务,借助短网址您可以用简短的网址替代...

php运行原理pdf

  • 2013年06月28日 17:49
  • 451KB
  • 下载

PHP服务器端API原理及示例(接口开发)

相信大家都做过PHP请求API接口获取数据,比如淘宝API,微信公众平台,天气查询,快递查询等,有的需要参照接口文档根据签名算法构造sign(签名),或者设置token,然后通过curl发送POST请...
  • c_hmnzs
  • c_hmnzs
  • 2017年01月13日 14:53
  • 4199
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php下载原理
举报原因:
原因补充:

(最多只允许输入30个字)