0

文字列として xml ファイルの大規模なメモリ内配列があります。

PHP (5.3) から読み取り可能/抽出可能な .tar.gz ファイルを作成する最も効率的な方法を探しています。

現在、私はこのクラスを使用しています。

しかし :

  • メンテナンスされていないようです
  • ファイルが必要です(そのため、数ミリ秒後に役に立たないメモリ配列から何千ものファイルを作成しています)

だから私は .tar.gz ファイルを処理する効率的な方法を探しています。最も重要なポイントは、次のような単純なコマンドでファイルを簡単に配置できることです。

$myArchive->putFileFromString($fileName, $dataString);

TAR & GZ で PHAR を構成することは可能のようですが、解決策になるのでしょうか?

$p = $p->convertToExecutable(Phar::TAR, Phar::GZ);

おまけの質問ですが、メモリを節約するために (xml 文字列の生成ごとに) ライブでビルドする方がよいのか、それともこの巨大なオブジェクトを待って一度圧縮する方がよいのかわかりません。この場合、proc_usage / mem_usage の比率は不明です。

ターゲットの最大使用量は 100K XML ファイルです。

ありがとう!

4

2 に答える 2

0

tgz ファイルを作成する場合は、PEAR のArchive_Tarパッケージを使用します。メモリからオンザフライで tar + gz ファイルを作成できます。

require_once 'Archive/Tar.php';
$t = new Archive_Tar('/path/to/dest.tar.gz', 'gz');
foreach ($xmlfiles as $key => $content) {
    $t->addString($key . '.xml', $content);
}
于 2012-02-20T11:59:50.377 に答える