使用实例: <?php <form method="post"> 压缩到服务器: <br>------------------<br> 压缩目录: <input name="zipdir" type="text" id="zipdir" />(例如./folder)<br> 另存为路径和文件名:<input name="savename" type="text" id="savename" />(例如./folder/file.zip)(需要填写扩展名)<br> <input name="zip" type="submit" id="zip" value="压缩" /><br> <br><br><br> 压缩并下载 <br>------------------<br> 文件所在目录:<input name="zipdowndir" type="text" id="zipdowndir" />(例如./folder)<br> <input name="zipdown" type="submit" id="zipdown" value="压缩并下载" /> <br><br><br> 在线解压zip <br>------------------<br> 文件: <input name="unzipfile" type="text" id="unzipfile" />(例如./folder/file.zip)<br> 解压到:<input name="unziptarget" type="text" id="unziptarget" />(例如./folder)<br> <input name="unzip" type="submit" id="unzip" value="解压" /> <br><br><br> 读取压缩文件内部文件信息和注释 <br>------------------<br> 文件:<input name="readfile" type="text" id="readfile" />(例如./folder/file.zip)<br> <input name="readfileinfo" type="submit" id="readfileinfo" value="读取内部文件信息" /> <input name="readcomment" type="submit" id="readcomment" value="读取注释" /> </form> <? echo "<p><p>rn"; echo "<br>--------------------------<br>rn"; echo "显示信息:rn"; echo "<br>--------------------------<br>rn"; $archive = new PHPZip(); if(!empty($zip)) { $archive->Zip($zipdir, $savename); } elseif(!empty($zipdown)) { $archive->ZipAndDownload($zipdowndir); } elseif(!empty($unzip)) { $zipfile = $unzipfile; $savepath = $unziptarget; $array = $archive->GetZipInnerFilesInfo($zipfile); $filecount = 0; $dircount = 0; $failfiles = array(); set_time_limit(0); // 修改为不限制超时时间(默认为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++; } } set_time_limit(30); printf("文件夹:%d 解压文件:%d 失败:%d<br>rn", $dircount, $filecount, count($failfiles)); if(count($failfiles) > 0){ foreach($failfiles as $file){ printf("·%s<br>rn", $file); } } } elseif(!empty($readfileinfo)) { $array = $archive->GetZipInnerFilesInfo($readfile); for($i=0; $i<count($array); $i++) { printf("<b>·%s</b><br>rn", $array[$i][filename]); foreach($array[$i] as $key => $value) printf("%s => %s<br>rn", $key, $value); print "rn<p>------------------------------------<p>rnrn"; } } elseif(!empty($readcomment)) { $comment = $archive->GetZipComment($readfile); printf("%s<br>rn", $comment); } ?> ?>