<?php$zip = new ZipArchive();
$filename = "./test.zip";if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
    exit("cannot open <$filename>\n");
}$zip->addFile($thisdir . "/a.jpg","/a.jpg");
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";
$zip->close();
//剩下的部分就是下载的代码了~给用户一个链接就可以了。
echo "<a href = 'test.zip'>download</a>"
?> 

解决方案 »

  1.   

    <?php
    $string = 'Some information to compress';
    $gz = gzopen('somefile.gz','w9');
    gzwrite($gz, $string);
    gzclose($gz);
    ?>
      

  2.   

    这要看你是想用gzip压缩还是zip压缩了。你想生成文件名是zip还是gz~zip就是我的方法,gz就是3楼的方法。
      

  3.   

    一楼的仁兄的方法我试了,正是我想要的效果,最后问一个问题就是linux和window系统下都能使用吗?
      

  4.   

    理论上是~~~
    win下面需要打开php_zip.dll 的扩展。
      

  5.   

    据说……某个版本的zip库,当你解压路径../../../../../file的情况,他会写到别的目录里去。压缩文件好像没事儿。