服务器端解压缩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>