php zip文件解压类代码
php  /  管理员 发布于 7年前   150
}
function get_List($zip_name){
$file_list = array();
$this->_zip_hander = zip_open($zip_name);
if ( $this->_zip_hander ) {
while ( $zip_entry = zip_read($this->_zip_hander) ) {
$file_list[] = array('filename'=>zip_entry_name($zip_entry),
'size'=>zip_entry_filesize($zip_entry),
'compressed_size'=>zip_entry_compressedsize($zip_entry)
);
}
zip_close($this->_zip_hander);
}
return $file_list;
}
function Extract($zip_name,$folder_name){
$this->_zip_hander = zip_open($zip_name);
if ( !$this->checkDirAndMk($folder_name) ){
return false;
}
if ( substr($folder_name,-1)!="/" ){
$folder_name .= "/";
}
if ( $this->_zip_hander ) {
while ( $zip_entry = zip_read($this->_zip_hander) ) {
$file_info = array('filename'=>zip_entry_name($zip_entry),
'size'=>zip_entry_filesize($zip_entry),
'compressed_size'=>zip_entry_compressedsize($zip_entry)
);
$new_file_name = $folder_name.$file_info['filename'];
$buf = "";
if (zip_entry_open($this->_zip_hander, $zip_entry, "r")) {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
zip_entry_close($zip_entry);
}
if ( $fp = fopen($new_file_name,"w") ){
fwrite($fp,$buf);
fclose($fp);
}
}
zip_close($this->_zip_hander);
return true;
}
else {
return false;
}
}
/**
* 检查目录是否存在,如果不存在是否建立
*
* @param string $dirname 完整的实际路径
* @param bool $mk 如果不存在是否创建
* @param int $mode 创建权限
* @return bool 是否创建成功
*/
function checkDirAndMk($dirname,$mk=false,$mode=0777){
if ( is_dir($dirname)==true ){
return true;
}
else {
if ($mk==false){
return false;
}
else {
$dirpath_a = explode('/',$dirname);
for ($i=0;$i
continue;
}
if ( $path==""||is_dir($path) ){
if ( $path=="" ){
if ( substr(PHP_OS, 0, 3)=="WIN" ){
$path = $dirpath_a[$i];
}
else {
$path .= "/".$dirpath_a[$i];
}
}
else {
$path .= "/".$dirpath_a[$i];
}
if ( is_dir($path) ){
continue;
}
else {
@mkdir($path,$mode);
}
}
else {
return false;
}
}
return true;
}
}
}
}
$z = new Zip;
$lst=$z->get_list('test2.zip');
foreach ($lst as $val){
print_r($val)."\n";
}
$zip_obj = new zipPeter();
//$zip_obj->Extract()
$z->Extract('test2.zip', "f:/wytddd", -1 );
/***/
require_once("zip.lib.php");
set_time_limit(100);
//要解压的文件路径
$arch = $_GET["arch"];
if(!$arch || !file_exists($arch))
$z = new Zip;
$l=$z->get_list($arch); //得到文件列表
$z->Extract($arch, "jieya", -1 );
}
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号