我有一個大型的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