我有一个大型的xml文件内存数组作为字符串。将内存中的PHP数组压缩为.tar.gz文件(PHAR?)
我正在寻找从PHP(5.3)创建可读/可提取.tar.gz文件的最有效方法。
当前我使用的是this class。
但是:
- 它看起来并不保持
- 它要求文件(所以我创造数以千计的文件从我的记忆阵列是无用的几毫秒后)
所以我正在寻找一种处理.tar.gz文件的有效方法,最重要的一点是能够使用一个简单的命令轻松地将文件放入其中:
$ myArchive-> putFi leFromString($ fileName,$ dataString);
看起来像是可以配置PHAR与TAR & GZ,所以它可能是一个解决方案?
$p = $p->convertToExecutable(Phar::TAR, Phar::GZ);
奖金的问题,我不知道这是否会更好地建设它生活(每个XML字符串后一代)以节省内存,或只是等待这个庞大的对象&敷一次。在这种情况下,proc_usage/mem_usage的比例不清楚。
目标最大使用量是100K XML文件。
谢谢!
为什么不使用[zlib的(http://php.net/manual/en/book.zlib.php)和如果你需要某些功能,将它包装在一个类中? – afuzzyllama 2012-01-18 15:39:51
我对这个问题不是很清楚。你想将所有的xml文件保存到一个tar.gz文件中,但是也可以添加新的文件?你能举一些例子吗? – Rannnn 2012-01-19 11:08:48
@afuzzyllama:zlib用于.gz文件,它只压缩一个文件。您需要首先查找所有单个文件,然后才能在其上使用zlib。 – cweiske 2012-02-20 11:54:46