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壓縮文件的方法,支持文件和壓縮包路徑查找,包括了讀取文件方面的內(nèi)容,更多相關(guān)內(nèi)容請關(guān)注PHP中文網(wǎng)(www.gxlcms.com)!
相關(guān)文章:
使用php生成zip壓縮文件的方法附詳細(xì)代碼
php實(shí)現(xiàn)在線解壓zip壓縮文件
簡單的php創(chuàng)建zip壓縮文件的方法 本條技術(shù)文章來源于互聯(lián)網(wǎng),如果無意侵犯您的權(quán)益請點(diǎn)擊此處反饋版權(quán)投訴 本文系統(tǒng)來源:php中文網(wǎng)
總結(jié)
以上是生活随笔為你收集整理的php创建压缩文件 保存路径,通过php生成zip压缩文件,支持文件和压缩包路径查找...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php与c语言流程控制语句,小蚂蚁学习C
- 下一篇: php oop 实际工作,PHP OOP