首页
诗词
字典
板报
句子
名言
友答
励志
学校
网站地图
UNIXLINUX
windows
windowsxp
windows server
DOS
UNIXLINUX
windows7
当前位置:
首页
>
教程频道
>
操作系统
>
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;//此设置在压缩时如果文件已经存在则不会重新生成压缩包?>
查看更多
下一篇
本文网址:
https://www.reader8.net/jiaocheng/20120719/1985057.html
读书人精选
热点排行
Linux系统课程-Linux常用的压缩及解压缩
sed解决方法
bad inperpreter解决办法
克隆linux系统到原来的windows计算机-分
Linux rpm 下令参数使用详解
make后出现的异常竟然与‘h’字符有关
Mounting HGFS shares: [失
关于unix中Messagequeue的有关问题
Linux下查看磁盘空间及文件夹的大小
想在linux c下写一个软件管理的软件解决