1

php / PharDataを介して(バックアップ目的で)サーバーコンテンツ全体を圧縮しています:

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

SYS_ROOT は、Web ルート (この場合は . ドット) へのパスを定義する定数です。結果のzipに空のフォルダーがないことを除いて、すべて正常に機能します。フォルダが必要です。

私は Phar::addEmptyDir について考えましたが、どのフォルダーが空であるかを判断するには、フォルダーをもう一度繰り返す必要があります。recursivedirectoryiterator を無駄にしようとしました(空のフォルダーもスキップしました):(

4

1 に答える 1

0

私はこれを使用したことはありませんが、ドキュメントを見ると、次のように書かれています。

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

これは、期待どおりに動作していることを意味します。ただし、これはバックアップ用であるため、buildFromIteratorを使用してから圧縮することもできると思います。

于 2013-09-12T12:52:50.293 に答える