下载文件的流程:
服务器端的工作:
客户端的浏览器发送一个请求到处理下载的
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
();
//返回当前目录