2013-09-10 58 views
0

我壓縮和解整個服務器的內容(用於備份):PharData拉鍊包括經由PHP/PharData空文件夾

$phar = new PharData(SYS_ROOT.'/project.zip'); 
$phar->buildFromDirectory(SYS_ROOT.'/'); 

SYS_ROOT是恆定的限定路徑Web根(點在這種情況下)。除了在生成的zip文件中缺少空文件夾之外,一切正常。這些文件夾是必要的。

我對待Phar :: addEmptyDir,但這需要通過文件夾的另一個迭代來確定哪些是空的。試圖recursivedirectoryiterator無果(也跳過空文件夾)以及:(

回答

0

我從來沒有使用過這一點,但看documentation它說以下內容:

Phar::buildFromDirectory — Construct a phar archive from the files within a directory.

,這意味着它的行爲符合市場預期。不過,我想你可以使用buildFromIterator然後也compress,因爲這是備份,我想我會用一個去。

+0

謝謝你的提示,但是也迭代器跳過空文件夾正如我所說:( – Alexander

+0

你通過了嗎迭代器的標誌'FilesystemIterator :: KEY_AS_PATHNAME'?也許可以修復它。 –