服务器端解压缩zip的脚本

所属分类: 网络编程 / PHP编程 阅读数: 397
收藏 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实现在服务器端调整图片大小的方法

这篇文章主要介绍了php实现在服务器端调整图片大小的方法,实例分析了imageResizer与loadimage操作图片的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php动态绑定变量的用法

这篇文章主要介绍了php动态绑定变量的用法,涉及php变量的判定与动态定义的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php实现读取和写入tab分割的文件

这篇文章主要介绍了php实现读取和写入tab分割的文件,涉及php文件读写及字符串操作的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php正则preg_replace_callback函数用法实例

这篇文章主要介绍了php正则preg_replace_callback函数用法,实例分析了preg_replace_callback函数进行正则替换的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php将字符串随机分割成不同长度数组的方法

这篇文章主要介绍了php将字符串随机分割成不同长度数组的方法,涉及随机数及字符串操作的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php自动给网址加上链接的方法

这篇文章主要介绍了php自动给网址加上链接的方法,可实现对本文中的网址加上链接的功能,涉及正则匹配的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php使用socket post数据到其它web服务器的方法

这篇文章主要介绍了php使用socket post数据到其它web服务器的方法,涉及php使用socket传输数据的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP使用递归方式列出当前目录下所有文件的方法

这篇文章主要介绍了PHP使用递归方式列出当前目录下所有文件的方法,涉及php递归操作文件的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php获取指定范围内最接近数的方法

这篇文章主要介绍了php获取指定范围内最接近数的方法,可实现根据给定区间长度划分各个区间,并在其中寻找与给定数最接近的数,需要的朋友可以参考下
收藏 0 赞 0 分享

php使用ob_flush不能每隔一秒输出原理分析

这篇文章主要介绍了php使用ob_flush不能每隔一秒输出原理,较为详细的分析了php使用ob_flush的相关原理与Linux下使用cli方式的使用方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多