2011-10-21 78 views
0

我在壓縮目錄時遇到了一些問題。 下面這行代碼會執行這個技巧,但它也包含根目錄。exec zip根路徑

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

所以我只是想壓縮的目錄RSS-股票 一切如何解決這一問題?

感謝您的幫助

回答

0

除非你有一個壓倒性的理由,不要(如引發自己的痛苦和頭痛),你真的應該使用ZipArchive工具包。有一個如何在this question的例子。

至於讓拉鍊與exec工作,我注意到兩點:

  1. 你肯定會需要$filename_no_ext變量在那裏。如果你只是一個.。現在,由於您將與/開始,因此假定該文件夾位於文件系統的根目錄。我不認爲你想要那樣。
  2. 您不需要尾隨*就可以使命令行zip函數正常工作。
1

您使用的是什麼zip程序? tar以您想要的方式工作,然後您可以gzip它。

另外,chdir()到要壓縮,並指定路徑*目錄 - 應該只得到當前工作目錄下的文件。

如果您無法按照自己想要的方式(或者即使可以)嘗試使用ZIP Extensionthis 3rd party library - 在純PHP中執行此操作將使您的代碼更具可移植性。