服务器端解压缩zip的脚本

代码如下:

<!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> 

相关推荐