php 解压zip文件函数的解决办法

内容摘要
这篇文章主要为大家详细介绍了php 解压zip文件函数的简单示例,具有一定的参考价值,可以用来参考一下。面向php教程编程,下面跟随php教程的小编来举个例子吧。
文章正文

这篇文章主要为大家详细介绍了php 解压zip文件函数的简单示例,具有一定的参考价值,可以用来参考一下。

面向php教程编程,下面跟随php教程的小编来举个例子吧。经测试代码如下:

/**
 * 解压zip
 *
 * @author php教程 www.idcnote.com
 * @param type $zipfile 要解压的文件
 * @param type $path 解压到该目录
 * @param type $type
 * @return int
 */
function emUnZip($zipfile, $path, $type = 'tpl') {
 if (!class_exists('ZipArchive', FALSE)) {
  return 3;//zip模块问题
 }
 $zip = new ZipArchive();
 if (@$zip->open($zipfile) !== TRUE) {
  return 2;//文件权限问题
 }
 $r = explode('/', $zip->getNameIndex(0), 2);
 $dir = isset($r[0]) ? $r[0] . '/' : '';
 switch ($type) {
  case 'tpl':
   $re = $zip->getFromName($dir . 'header.php');
   if (false === $re)
    return -2;
   break;
  case 'plugin':
   $plugin_name = substr($dir, 0, -1);
   $re = $zip->getFromName($dir . $plugin_name . '.php');
   if (false === $re)
    return -1;
   break;
  case 'backup':
   $sql_name = substr($dir, 0, -1);
   if (getFileSuffix($sql_name) != 'sql')
    return -3;
   break;
 }
 if (true === @$zip->extractTo($path)) {
  $zip->close();
  return 0;
 } else {
  return 1;//文件权限问题
 }
}

注:关于php 解压zip文件函数的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!