【问题标题】:PharData zip to include empty foldersPharData zip 包含空文件夹
【发布时间】:2013-09-14 15:50:11
【问题描述】:

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

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

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

我对 Phar::addEmptyDir 很感兴趣,但这需要对文件夹进行另一次迭代以确定哪些是空的。尝试 recursivedirectoryiterator 无济于事(也跳过了空文件夹):(

【问题讨论】:

    标签: php compression phar


    【解决方案1】:

    我从来没有用过这个,但是看着documentation它说如下:

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

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

    【讨论】:

    • 感谢您的提示,但是正如我提到的,迭代器也会跳过空文件夹:(
    • 您是否将标志 FilesystemIterator::KEY_AS_PATHNAME 传递给迭代器?也许可以解决它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    • 2013-10-10
    • 2016-10-02
    • 2021-08-24
    • 1970-01-01
    • 2022-10-15
    • 1970-01-01
    相关资源
    最近更新 更多