PharData 压缩以包含空文件夹


PharData zip to include empty folders

我正在通过php/PharData压缩整个服务器内容(用于备份目的):

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

SYS_ROOT是定义 Web 根目录路径的常量(在本例中为 . 点)。除了生成的zip中缺少空文件夹外,一切正常。文件夹是必需的。

我对Phar::addEmptyDir很感兴趣,但这需要再次迭代文件夹以确定哪些是空的。尝试递归目录迭代器无济于事(也跳过了空文件夹)以及:(

我从未使用过这个,但查看文档时它说:

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

这意味着它的行为符合预期。但是我认为您可以使用buildFromIterator,然后进行压缩,因为这用于备份,我想我会选择那个。