到这里下载pcltar:http://www.phpconcept.net/pcltar/index.php,用它来压缩文件夹,然后用目录函数把压缩文件名称加上连接列出来就行了。

解决方案 »

  1.   

    我正好实现这个了
    1.你的文件或图片列表供用户选择(多选)
    2.把选中的文件名(含路径)保存在文件里,主要是考虑用户可能选很多文件,如果放在命令行会溢出,放文件里有通用性
    3, system("cat file_list | zip -j 目的文件名 -@ > dev.null && unlink file-list");
       用系统命令来压缩打包,其中file_list 是存放文件名字列表的文件,zip 的 -j参数是压缩文件中不包含原来的路径,注意目的文件名没有.zip扩展名,会自动加上的
    4.echo "<script language=javascript>window.open('目的文件名');</script>";
      提供下载,完成。注意这里的目的文件名是有.zip扩展名的
      

  2.   

    PHP原本有函数可以显示某个目录的所有文件的,找找手册吧
    我使用过
      

  3.   

    青蛙王子,不会啊,我的服务器系统为unix的,<?system("cat down.txt | zip -j down -@ > dev.null && down.txt");echo "<script language=javascript>window.open('down.zip');</script>";
    ?>down.txt文件内容如下:
    ../upload/work/2004-04/18/star_1082300693.jpg根本就不能生成down.zip文件啊。
      

  4.   

    你看看zip的用法,man ziplinux 和Unix 以及各种Unix 的命令用法可能有微小的差别
    或者你换个其他的压缩命令-@ 你换成 - 或者干脆不要,看看dev.null是打错字了,应该是 /dev/null,是一个空设备,意思是要把出错的信息抛弃
    >/dev/null 可以不写,看看提示什么错误