php 复制文件夹并压缩到最小_php在线压缩并下载压缩文件的方法

/*

*下载类,zip压缩文件下载

*/

class download{

protected $_filename;

protected $_filepath;

protected $_filesize;//文件大小

public function __construct($filename){

$this->_filename=$filename;

$this->_filepath=dirname(__FILE__).'/'.$filename;

}

public function __destruct(){

if (file_exists($this->_filepath)){

unlink($this->_filepath);

}

}

//获取文件名

public function getfilename(){

return $this->_filename;

}

//获取文件路径(包含文件名)

public function getfilepath(){

return $this->_filepath;

}

//获取文件大小

public function getfilesize(){

return $this->_filesize=number_format(filesize($this->_filepath)/(1024*1024),2);//去小

数点后两位

}

//下载文件的功能

public function getfiles(){

//检查文件是否存在

if(file_exists($this->_filepath)){

//打开文件

$file = fopen($this->_filepath,"r");

//返回的文件类型

Header("Content-type: application/octet-stream");

//按照字节大小返回

Header("Accept-Ranges: bytes");

//返回文件的大小

Header("Accept-Length: ".filesize($this->_filepath));

//这里对客户端的弹出对话框,对应的文件名

Header("Content-Disposition: attachment; filename=".$this->_filename);

//修改之前,一次性将数据传输给客户端

echo fread($file, filesize($this->_filepath));

//修改之后,一次只传输1024个字节的数据给客户端

//向客户端回送数据

$buffer=1024;//

//判断文件是否读完

while(!feof($file)){

//将文件读入内存

$file_data=fread($file,$buffer);

//每次向客户端回送1024个字节的数据

echo $file_data;

}

fclose($file);

}else {

echo "";

}

}

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
======================================================== 服务器端解压操作说明: 1 用记事本打开 unzip.php ,在第二行,找到 “ $password = "isphp" ” 这一句, 将isphp 改成您的密码,等会解压时会要求输入。 2 将 unzip.php 上传到服务器端某个目录下,比如根目录。 3 运行 unzip.php, 看其给出的提示是否支持 zlib 库, 如果不支持,则在下面一步本地压缩时不要将"压缩成Gzip格式"选中。 4 在本机运行 phpZip.exe, 如果第3步中,unzip.php 提示说不支持zlib库,则不要选中 "压缩成Gzip格式", 否则压缩出的文件,在服务器端没法解压, 反之,如果支持的话,就选中,因为压缩成gz格式,可以大大减小文件大小。 5 运行 unzip.php,将刚才在本机压缩出的文件通过 unzip.php 上传,上传后会自动解压。 (也可以通过其它途径如 FTP 将文件上传到服务器,这样只要指定其位置即可。) ------------------------------------------------------- 服务器端打包下载操作说明 1 用记事本打开 unzip.php ,在第二行,找到 “ $password = "isphp" ” 这一句, 将isphp 改成您的密码,等会解压时会要求输入。 2 运行 zip.php , 输入想下载的目录,程序会给出一个链接, 点此链接(或者通过 FlashGet 一类工具) 就可以下载。 3 在本地运行 phpZip.exe 将下载下来的文件解压就行。 注: 如果想下载整个 zip.php 所在的当前目录,则输入 "." (点号) 即可。 这种情况下,在本地解压时,选择解压目的地时,最好选择一空的文件夹。 因为,当仅打包下载当前目录下的一个子目录时,在本地解压时, 程序会自动创建一个同名的文件夹, 而下载当前整个目录时,程序不会创建文件夹。 -------------------------------------------------------

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值