php创建压缩文件 保存路径,通过php生成zip压缩文件,支持文件和压缩包路径查找...
/*
* new creatZip($_dir,$_zipName);
*@ _dir是被压缩的文件夹名称,可使用路径,例 'a'或者'a/test.txt'或者'test.txt'
*@ _zipName是压缩后的压缩包名称,可使用路径,例 'a/test.zip'或者'test.zip'
**/
class creatZip {
private $_dir;
private $_zipDir;
private $_zipName;
public function __construct($dir,$zipName) {
$this->_dir = $dir;
$this->_zipDir = basename($dir);
$this->_zipName = $zipName;
$this->mkdirs();
$this->creat();
}
//检测并生成目录
private function mkdirs() {
if (!is_dir(dirname($this->_zipName))) {
$arr = explode('/', dirname($this->_zipName));
$arrs = '';
foreach($arr as $value) {
if (!is_dir($arrs.$value)) {
if (!!mkdir($arrs.$value)) {
$arrs .= $value.'/';
}
}
}
}
}
//生成Zip压缩包
private function creat() {
$zip = new ZipArchive;
if (is_dir($this->_dir)) {
$this->readDir($this->_dir,$files);
if ($zip->open($this->_zipName,ZipArchive::CREATE)) {
foreach ($files as $value) {
preg_match('//('.$this->_zipDir.'/.*)/', $value, $match);
if (is_dir($value)) {
@$zip->addEmptyDir($value, $match[1]);
} else {
@$zip->addFile($value, $match[1]);
}
}
$zip->close();
}
} else {
if ($zip->open($this->_zipName,ZipArchive::CREATE)) {
$zip->addFile($this->_dir, basename($this->_dir));
}
}
}
//读取文件夹所有文件
private function readDir($dir,&$arr) {
if ($dirs = opendir($dir)) {
while (($file=readdir($dirs)) != false) {
if ($file == '.' || $file == '..') continue;
$files = $dir .'/'. $file;
if (is_dir($files) && $this->isEmpty($files)) {
$this->readDir($files,$arr);
} else {
$arr[] = $files;
}
}
}
closedir($dirs);
}
//判断文件夹是否为空
private function isEmpty($dir) {
if ($_dirs = opendir($dir)) {
while (($file=readdir($dirs)) != false) {
if($file != '.' && $file != '..') {
closedir($dirs);
return true;
break;
}
}
closedir($dirs);
return false;
}
}
}
以上就介绍了php生成zip压缩文件的方法,支持文件和压缩包路径查找,包括了读取文件方面的内容,更多相关内容请关注PHP中文网(www.gxlcms.com)!
相关文章:
使用php生成zip压缩文件的方法附详细代码
php实现在线解压zip压缩文件
简单的php创建zip压缩文件的方法 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网
php创建压缩文件 保存路径,通过php生成zip压缩文件,支持文件和压缩包路径查找...相关推荐
- Linux中压缩和解压(gzip压缩/gunzip解压)(zip压缩/unzip解压)(tar打包解压)
文章目录 Linux中压缩和解压(gzip压缩/gunzip解压)(zip压缩/unzip解压)(tar打包解压) 一.gzip压缩 / gunzip解压 1.命令 2.注意 3.案例 4.常用 二. ...
- dos 压缩 %3c html%3e,dos下生成zip压缩文件
使用winzip命令行对文件打包压缩 大家都知道winzip对文件解压和压缩都易如反掌,但是如何通过程序和命令行对其调用呢? 去 下载dos版的winzip,下载后直接安装,就会在winzip的目录中 ...
- linux文件下生成一个文件,Linux系统下生成一个指定大小的文件要注意什么?
在装系统,因此在这里随便记点东西. 从前与经理讨论NVR项目的时候,他提到要预先将用户指定好的磁盘空间预留出来,这是比较容易实现的功能.不容易实现的是自己写一个文件系统,这种方法我是不太敢照量啊,不过 ...
- php生成文件index.html,Typecho生成静态首页index.html文件
Typecho生成静态首页index.html文件 作者:佚名 来源:爱好者 时间:2019-11-02 在挨踢路看到的教程,不仅仅适用于Typecho,wordpress也是可以通用. 教程 在网站 ...
- Qt-qrc资源文件-rcc打包-程序调用-ZIP压缩和解压-安装程序制作参考
文章目录 1.qrc文件编辑 2.将qrc文件转位rcc 3.资源使用 4.ZIP压缩和解压 4.1.解压 4.2.压缩 5.错误 6.作者答疑 将程序的资源文件打包在程序的应用程序内,能够使程序保持 ...
- linux中用zip压缩文件,详解Linux中zip压缩和unzip解压缩命令及使用详解
下面给大家介绍下Linux中zip压缩和unzip解压缩命令详解 1.把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩myda ...
- python压缩文件操作_Python tar、zip压缩文件操作方法
python语言源码练习,tar.zip压缩文件操作方法参考示例. import os import threading, zipfile import tarfile class AsyncZip( ...
- php 蓝奏网盘上传文件,蓝奏云盘客户端v2.6 支持文件夹和大文件上传了
首先来份哈勃检测:https://habo.qq.com/file/showdetail?pk=ADcGZ11vB28IOVs6U2U%3D 软件MD5:5bb1f50860b2e626ccda17e ...
- php 创建zip,php生成zip压缩文件的实例详解
操作步骤: 1,下载zip.php工具类,解压,将文件放到相关目录,比如这里放加include目录中. 2,在php程序中,引入代码: require_once "./include/zip ...
最新文章
- SystemCenter2012SP1实践(31)P2V迁移故障一则
- 栈空间不够会报错吗_网站更换域名和空间会对优化有影响吗?
- 【Linux系统编程】进程间通信--无名管道(pipe)
- Linux按键输入实验(体验一下输入驱动,实际开发使用input子系统处理)
- 获取table控件的某行某列
- Paste for mac(剪切板管理工具)
- SQL:postgresql点geom转换为经纬度、POINT
- 2018-2019-2 20165206《网络对抗技术》Exp1 PC平台逆向破解
- 2021信创产业分类排行
- 图论及其应用 2007年期末考试答案 总结
- Windows XP SP3 VOL 简体中文正式版 V201106
- 2022钉钉发布会|云钉低代码新模式、新能力、新机遇
- 0起步的摄影初学笔记
- hdu 1205 吃糖果 抽屉原理
- Git三板斧【linux环境】
- ElastaticSearch----top_hits,es获取聚合的相关文档结果
- 用途相似的标签:cite,q与blockquote
- 利用pygame实现人人对弈五子棋(有其他相关功能)
- mysql sqlserver 拷贝_SQLServer复制搭建过程
- 芒果TV的金融野心从未停止
热门文章
- 制造企业数字化转型的这些大坑不避开,上岸有点悬!
- 国产美瞳频获融资背后:“小”美瞳的“大”生意经?
- 遭遇“长租杀熟”,95后蜗居的长租公寓未来也是“扑朔迷离”?
- 注定一爆就完的ZAO ,为什么只是一剂社交毒药?
- linux中jpg文件,Linux下压缩和优化jpg与png图片的方法
- 连接失败_iG.Firefox连接失败?iG新赛季仍未敲定主教练人选
- 仿射变换 c语言,c语言数字图像处理(三):仿射变换
- matlab绘图z=sin(x_「matlab画三维图」Matlab 应用之绘制三维图形(基础篇) - seo实验室...
- ci框架mysql多条件_CI框架同时连接不同的数据库(或不同表前缀)
- python 将字符串作为变量名