诗词
字典
板报
句子
名言
励志
学校
友答
搜索
首页
中考频道
作文频道
公务员频道
出国留学
医药考试
司法考试
图书频道
外语考试
建筑工程
成人高考
故事频道
教程频道
文档频道
早教
星座频道
校园
求职招聘
考研频道
职业资格
自考频道
计算机考试
财会考试
高考频道
当前位置:
首页
>
教程频道
>
操作系统
>
UNIXLINUX
>
php解压缩种并带实例[linux window平台皆通过
2012-07-19
php解压缩类并带实例[linux window平台皆通过php解压缩类并带实例[linux window平台皆通过]?phpclass zip
php解压缩类并带实例[linux window平台皆通过
php解压缩类并带实例[linux window平台皆通过]
<?phpclass zipclass{private $path;private $filename;public $type=true;//构造函数public function __construct(){}//设置压缩或解压目录public function set_path($path){if(!file_exists($path) || !is_dir($path)){die("指定的目录[$path]不存在");}else{$this->path=$path;}}//设置压缩文件名或解压文件名public function set_filename($filename){if(strtolower(end(explode(".",$filename)))!="zip"){die("文件必须是.zip格式");}else{$this->filename=$filename;}}//获取文件private function get_files($dir,&$files=array()){$temp=scandir($dir);foreach($temp as $value){if($value !="." && $value!=".."){$make_path=$dir."/".$value;if(is_dir($make_path)){$this->get_files($make_path,$files);}$files[]=$make_path;}}}//压缩public function zip(){if(file_exists($this->filename)){if($this->type){@unlink($this->filename);}else{die("文件[{$this->filename}]已经存在了");}}$files=array();$this->get_files($this->path,$files);$zip=new ziparchive();$res=$zip->open($this->filename,ziparchive::CREATE);if($res===true){if(empty($files)){$zip->addemptydir($this->path);}else{foreach($files as $value){if(is_dir($value)){$zip->addemptydir($value);}else{$zip->addfile($value,$value);}}}$zip->close();}}//解压function unzip(){$zip=new ziparchive();if($zip->open($this->filename)===true){$zip->extractto($this->path);$zip->close();}}}?><?php1.实例化类$zip=new zipclass();//需要把类导入到当前环境2.设置压缩或解压的目录$zip->set_path(".");//压缩当前目录或解压到当前目录路径设置为"."3.设置压缩文件名或解压文件名$zip->set_filename("zip.zip");//文件必须是.zip格式4.压缩或解压//$zip->zip();//压缩//$zip->unzip();//解压5.其他压缩时如果文件已经存在会自动删除后再生成压缩包$zip->type=false;//此设置在压缩时如果文件已经存在则不会重新生成压缩包?>