类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");