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文件函数的简单示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释