本文整理汇总了PHP中PHPZip::unZip方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPZip::unZip方法的具体用法?PHP PHPZip::unZip怎么用?PHP PHPZip::unZip使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHPZip
的用法示例。
在下文中一共展示了PHPZip::unZip方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: do_upload_icon
/**
* 图标上传
*/
public function do_upload_icon()
{
require_once APP_ROOT_PATH . "system/utils/zip.php";
$archive = new PHPZip();
$font_dir = APP_ROOT_PATH . "public/iconfont";
$result = $archive->unZip($_FILES['file']['tmp_name'], $font_dir);
if (empty($result) || $result == -1) {
ajax_return(array("status" => false, "info" => "图标库更新失败,请手动解压后上传文件到" . $font_dir));
}
if ($dir = opendir($font_dir . "/")) {
while ($file = readdir($dir)) {
$check = is_dir($font_dir . "/" . $file);
if (!$check) {
@unlink($font_dir . "/" . $file);
}
}
}
$result = $archive->unZip($_FILES['file']['tmp_name'], $font_dir);
//清空原文件
foreach ($result as $k => $v) {
$file = APP_ROOT_PATH . "public/iconfont/" . $k;
$file_arr = explode("/", $file);
foreach ($file_arr as $f) {
if ($f == "iconfont.css" || $f == "iconfont.eot" || $f == "iconfont.svg" || $f == "iconfont.ttf" || $f == "iconfont.woff") {
//echo APP_ROOT_PATH."public/iconfont/".$f;
@rename($file, APP_ROOT_PATH . "public/iconfont/" . $f);
}
}
}
foreach ($result as $k => $v) {
$file = APP_ROOT_PATH . "public/iconfont/" . $k;
@unlink($file);
}
foreach ($result as $k => $v) {
$file = APP_ROOT_PATH . "public/iconfont/" . $k;
@rmdir($file);
}
ajax_return(array("status" => true, "info" => ""));
}
示例2: UnZip
/**
* @Title: UnZip
* @Description: todo(解压文件)
* @param 解压的文件路径 $UnzipUrl
* @param 解压后文件的路径 $UnzipPath
* @author laicaixia
* @date 2013-6-2 上午10:36:51
* @throws
*/
private function UnZip($UnzipUrl, $UnzipPath)
{
import("@.ORG.PHPZip");
$archive = new PHPZip();
$zipfile = $UnzipUrl;
$savepath = $UnzipPath;
//$zipfile = $unzipfile;
//$savepath = $unziptarget;
$array = $archive->GetZipInnerFilesInfo($zipfile);
$filecount = 0;
$dircount = 0;
$failfiles = array();
set_time_limit(C('PAGE_LIFE_TIME'));
//修改为不限制超时时间(默认为30秒)
for ($i = 0; $i < count($array); $i++) {
if ($array[$i][folder] == 0) {
if ($archive->unZip($zipfile, $savepath, $i) > 0) {
$filecount++;
} else {
$failfiles[] = $array[$i][filename];
}
} else {
$dircount++;
}
}
printf("文件夹:%d 解压文件:%d 失败:%d<br>\r\n", $dircount, $filecount, count($failfiles));
if (count($failfiles) > 0) {
foreach ($failfiles as $file) {
printf("·%s<br>\r\n", $file);
}
}
}