服务器端解压缩zip的脚本

所属分类: 网络编程 / PHP编程 阅读数: 351
收藏 0 赞 0 分享

复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
<title>文件解压缩管理</title>  
</head>  
<body>  
<?php  
// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead  
// of $_FILES.  
if (isset($_POST["Submit"])) {  
   echo "FileName:     " . $_POST['unpackfile'] . "<br />\n";  
   echo "UnpackPath:   " . $_POST['unpackpath'] . "<br />\n";  
   $zip = zip_open($_POST['unpackfile']);  
   if ($zip) {  
      while ($zip_entry = zip_read($zip)) {  
         echo "Name:               " . zip_entry_name($zip_entry) . "<br />\n";  
         echo "Actual Filesize:    " . zip_entry_filesize($zip_entry) . "<br />\n";  
         echo "Compressed Size:    " . zip_entry_compressedsize($zip_entry) . "<br />\n";  
         echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "<br />\n";  

         if (zip_entry_open($zip, $zip_entry, "r")) {  
            $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));   // File content  
            echo "step 1 successful!<br />\n";  
            if(zip_entry_filesize($zip_entry)!=0) {  
               $fp = fopen($_POST['unpackpath']."/".zip_entry_name($zip_entry), 'wb');  
               fwrite($fp, $buf);  
               fclose($fp);  
               zip_entry_close($zip_entry);  
               echo "unpack successful!<br />\n";  
            } else {  
               mkdir($_POST['unpackpath']."/".zip_entry_name($zip_entry), 0777);  
               echo "mkdir successful!<br />\n";  
            }  
         }  
         echo "<br><br>\n\n";  
      }  
      zip_close($zip);  
   }  
?>  
</body>  
</html>  
<?php  
exit();  
}  
?>  
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="<?=$_SERVER['PHP_SELF']?>">  
  待解压文件<input type="text" name="unpackfile" />  
  解压缩路径<input type="text" name="unpackpath" />  
  <input type="submit" name="Submit" value="解压" />  
</form>  
</body>  
</html> 

更多精彩内容其他人还在看

php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍

本篇文章是对php模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的方法进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

解析php中const与define的应用区别

本篇文章是对php中const与define的使用区别进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

解析htaccess伪静态的规则

本篇文章是对htaccess伪静态的规则进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

解析php中static,const与define的使用区别

本篇文章是对php中static,const与define的使用区别进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

PHP实现多进程并行操作的详解(可做守护进程)

本篇文章是对PHP实现多进程并行操作进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

解析PHP实现多进程并行执行脚本

本篇文章是对PHP实现多进程并行执行脚本进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

深入解析yii权限分级式访问控制的实现(非RBAC法)

本篇文章是对yii权限分级式访问控制的实现方法进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

判断php数组是否为索引数组的实现方法

本篇文章是对判断php数组是否为索引数组的方法进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数

本篇文章是对使用PHP实现计算两个日期间隔的年、月、周、日数的方法进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

深入Memcache的Session数据的多服务器共享详解

本篇文章是对Memcache的Session数据的多服务器共享进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享
查看更多