exec zip根路径

时间:2011-10-21 15:00:21

标签: php zip exec dir

我在压缩目录时遇到了一些问题。 以下行将完成这一操作,但它也包括根目录。

exec('zip -r '.$tmp_zip.' '.$filename_no_ext.'/rss-ticker/*'); 

所以我只想在dir rss-ticker中压缩所有内容 如何解决这个问题?

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您使用的是哪种拉链程序? tar按照您希望的方式运行,然后您可以gzip

或者,chdir()到您要压缩的目录,并将路径指定为* - 这应该只获取当前工作目录中的文件。

如果你不能以你想要的方式(或者你可以)尝试ZIP Extensionthis 3rd party library,那么在纯PHP中进行操作将使你的代码更具可移植性

答案 1 :(得分:0)

除非你有一个压倒性的理由(不想让自己感到痛苦和头痛),你真的应该使用ZipArchive工具包。在this question处有一个例子。

至于让zip与exec一起使用,我注意到两点:

  1. 你肯定需要$filename_no_ext变量。如果你只是.。现在,因为您使用rss-ticker启动/,所以假设该文件夹位于文件系统的根目录下。我认为你不想那样。
  2. 您不需要使用尾随*来使命令行zip功能正常工作。