类PclZip.class.php下载:PclZip.rar<?php
header("Content-type: text/html; charset=utf-8"); function createAddZip($zip_url, $files) { //添加文件到压缩文件
$files = getZipGbk($files);
set_time_limit(0);
require_once("PclZip.class.php");
$zip = new PclZip($zip_url);
$rs = $zip->create($files);
if ($rs == 0) {
die("Error : " . $zip->errorInfo(true));
}
} function createReplaceZip($zip_url, $files, $name, $name_replace) { //添加文件到压缩文件,并且替换相关路径
$files = getZipGbk($files);
set_time_limit(0);
require_once("PclZip.class.php");
$zip = new PclZip($zip_url);
$rs = $zip->create($files, PCLZIP_OPT_REMOVE_PATH, $name, PCLZIP_OPT_ADD_PATH, $name_replace);
if ($rs == 0) {
die("Error : " . $zip->errorInfo(true));
}
} function replacePathExtract($zip_url, $file_path, $file_path_remove) { //解压压缩文件并且添加或移除解压后的文件路径
set_time_limit(0);
require_once("PclZip.class.php");
$zip = new PclZip($zip_url);
$rs = $zip->extract(PCLZIP_OPT_PATH, $file_path, PCLZIP_OPT_REMOVE_PATH, $file_path_remove); //PCLZIP_OPT_PATH:添加路径,PCLZIP_OPT_REMOVE_PATH:移除原来的路径
} function removePathZip($zip_url, $files, $path_remove) { //添加文件到压缩文件,移除指定路径
$files = getZipGbk($files);
set_time_limit(0);
require_once("PclZip.class.php");
$zip = new PclZip($zip_url);
$rs = $zip->add($files, PCLZIP_OPT_REMOVE_PATH, $path_remove); //移除路径file
} function showFilesList($zip_url) { //列出压缩文件列表
require_once("PclZip.class.php");
$zip = new PclZip($zip_url); if (($list = $zip->listContent()) == 0) {
die("Error : " . $zip->errorInfo(true));
} for ($i = 0; $i < sizeof($list); $i++) {
for (reset($list[$i]); $key = key($list[$i]); next($list[$i])) {
echo "File " . $i . " / [" . $key . "] = " . $list[$i][$key] . "<br />";
}
echo "<br />";
}
} function getZipGbk($file) {
$arr = explode(",", $file);
foreach ($arr as $v) {
$names[] = iconv('UTF-8', 'GB2312', $v);
}
return implode(",", $names);
} //演示一:添加文件到压缩文件
//createAddZip("more.zip","test/ResponsiveSlides幻灯片效果/,test/素材火帮助.txt");//参数1 生成的压缩文件名称,参数2 要压缩的文件(多个文件逗号隔开)
// createAddZip("haha.zip","a.jpg,a.php,a.txt");
//演示二:添加文件到压缩文件,并且替换相关路径
//createReplaceZip("more.zip","test/ResponsiveSlides幻灯片效果/,test/素材火帮助.txt","test","zip");//参数2 要压缩的文件(多个文件逗号隔开) 参数3:移除的文件路径,参数4,:添加的文件路径
// createReplaceZip("haha.zip","b.txt","txt","zip");
//演示三:解压压缩文件并且添加或移除解压后的文件路径
//replacePathExtract("more.zip", "", "zip"); //参数2 添加路径,参数3 移除路径 //演示四:添加文件到压缩文件,移除指定路径
//removePathZip("more.zip", "test/js", "test"); //参数2 添加路径,参数3 移除路径 //演示五://列出压缩文件列表 showFilesList("haha.zip");