首页
网站后台
php开发
数据库
Web前端
JavaScript
CSS样式表
Flash
iOS开发
安卓开发
服务器
视觉设计
其它
微语
登录
thinkphp 解压Zip文件
2016-11-24
guoweidong
php开发
/** * 解压文件 * * @param string zip压缩文件的路径 * @param string 解压文件的目的路径 * @param boolean 是否以压缩文件的名字创建目标文件夹 * @param boolean 是否重写已经存在的文件 * @return boolean 返回成功 或失败 */ public function zip1($src_file='',$dest_dir=false, $create_zip_name_dir=false, $overwrite=true){ //$savename='ansi.zip'; $src_file='/images.zip'; $dest_dir='解压后的存放的地方'; if ($zip = zip_open($src_file)){ if ($zip){ $splitter = ($create_zip_name_dir === true) ? "." : "/"; if($dest_dir === false){ $dest_dir = substr($src_file, 0, strrpos($src_file, $splitter))."/"; } // 如果不存在 创建解压目录 $this->create_dirs($dest_dir); // 对每个文件进行解压 while ($zip_entry = zip_read($zip)){ // 文件不在根目录 $pos_last_slash = strrpos(zip_entry_name($zip_entry), "/"); if ($pos_last_slash !== false){ // 创建目录 $this->create_dirs($dest_dir.substr(zip_entry_name($zip_entry), 0, $pos_last_slash+1)); } // 打开包 if (zip_entry_open($zip,$zip_entry,"r")){ // 文件名保存在磁盘上 $file_name = $dest_dir.zip_entry_name($zip_entry); // 检查文件是否需要重写 if ($overwrite === true || $overwrite === false && !is_file($file_name)){ // 读取压缩文件的内容 $fstream = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)); @file_put_contents($file_name, $fstream); chmod($file_name, 0777); echo "解压到: ".$file_name."<br />"; } // 关闭入口 zip_entry_close($zip_entry); } } // 关闭压缩包 zip_close($zip); } }else{ return false; } return true; }
分享到:
QQ空间
新浪微博
腾讯微博
微信
更多
«
PHP ---- 正则表达式之定界符和原子
|
移动端网站表层div滑动到底部,底层body也滑动
»
日历
存档
2020年11月(1)
2020年9月(4)
2020年8月(5)
2020年7月(10)
2020年6月(7)
2020年5月(6)
2020年4月(2)
2020年3月(2)
2020年1月(6)
2019年12月(12)
2019年11月(13)
2019年10月(9)
2019年9月(11)
2019年8月(10)
2019年7月(10)
2019年6月(11)
2019年5月(15)
2019年4月(20)
2019年3月(23)
2019年2月(7)
2019年1月(24)
2018年12月(28)
2018年11月(8)
2018年10月(2)
2018年1月(2)
2017年12月(1)
2017年11月(9)
2017年9月(2)
2017年8月(2)
2017年7月(6)
2017年6月(8)
2017年5月(22)
2017年4月(23)
2017年3月(5)
2017年2月(10)
2017年1月(10)
2016年12月(15)
2016年11月(16)
2016年10月(6)
2016年9月(9)
2016年8月(17)
最新评论
链接
育灵童官网
Emlog官方主页
搜索