background image

 
下载文件的流程:

                               

 
服务器端的工作:

 

 
客户端的浏览器发送一个请求到处理下载的

php 文件。 

注意:任何一个操作都首先需要写入到内存当中,不管是视频、音频还是文本文件,都需要
先写入到内存当中。

 

换句话说,将

“服务器”上的文件读入到“服务器”的内存当中的这个操作时必不可少的(注

意:这里我将服务器三个字加上双引号,主要是说明这一系类的操作时在服务器上完成
的)。

<br> 

既然要将文件写入到内存当中,就必然要先将文件打开

 

所以这里就需要三个文件操作的函数了:

 

一:

fopen

(

$filename

 ,

$mode

二:

fread

 ( int 

$handle

 , int 

$length

 ) 

三:

fclose ( resource 

$handle

 ) 

 
客户端端的工作:

 

 
那么,如何将已经存在于服务器端内存当中的文件信息流,传给客户端呢?

 

答案是通过

header()函数,客户端就知道该如何处理文件,是保存还是打开等等 

 
最终的效果如下图所示:

 

 
 
代码如下

:

 
<?php 

require

'./down

load.php'; 

/** 
* 遍历目录,
打包成

zip 格

 

*/

 

class 

traverseDir{ 

public 

$currentdir

;

//

当前目录

 

public

 

$filename

;

//文件名 

public

 

$fileinfo

;

//用于保存当前目录下的所有文件名和目录名以及文件大小 

public

 

function

 __construct(){ 

$this

->currentdir=

getcwd

();

//返回当前目录