【发布时间】:2012-02-13 08:01:36
【问题描述】:
我有一个大的内存数组作为字符串的 xml 文件。
我正在寻找从 PHP (5.3) 创建可读/可提取 .tar.gz 文件的最有效方法。
目前我正在使用this class。
但是:
- 看起来没有维护
- 它需要文件(所以我从我的内存阵列中创建了数千个文件,这些文件在几毫秒后就没用了)
所以我正在寻找一种处理 .tar.gz 文件的有效方法,最重要的一点是能够使用简单的命令轻松地将文件放入其中:
$myArchive->putFileFromString($fileName, $dataString);
看起来可以用 TAR 和 GZ 配置 PHAR,所以它可能是一个解决方案?
$p = $p->convertToExecutable(Phar::TAR, Phar::GZ);
额外的问题,我不确定是否最好实时构建它(在每个 xml 字符串生成之后)以节省内存,或者只是等待这个巨大的对象并压缩一次。在这种情况下,我不清楚 proc_usage / mem_usage 的比率。
目标最大使用量是 100K XML 文件。
谢谢!
【问题讨论】:
-
如果您需要某些功能,为什么不使用Zlib 并将其包装在一个类中?
-
我对这个问题不是很清楚。你想把所有的 xml 文件保存到一个 tar.gz 中,还可以添加新文件到里面吗?你能举几个例子吗?
-
@afuzzyllama:zlib 用于 .gz 文件,它只压缩一个文件。在使用 zlib 之前,您需要先压缩所有单个文件。
标签: php compression gzip phar