我爲我的文件使用了一個簡單的解壓縮函數(如下所示),因此我不必在進一步處理它們之前手動解壓縮文件。在PHP中使用gzip解壓縮大文件
function uncompress($srcName, $dstName) {
$string = implode("", gzfile($srcName));
$fp = fopen($dstName, "w");
fwrite($fp, $string, strlen($string));
fclose($fp);
}
問題是,如果gzip文件很大(例如50mb),解壓縮需要大量內存來處理。
問題:我可以解析一個gzip文件,並且仍然可以得到正確的結果嗎?或者還有更好的方法來處理提取大型gzip文件的問題(即使它需要幾秒鐘)?
看起來好像這種方法與使用大量內存的原始方法相同。整個文件正在讀取並保存在內存中。 – Lukas 2009-08-21 17:37:35
未加載到可變數據文件中(與流式傳輸類似)。不是加載對象字符串的對象模型。這個例子不影響「php_value memory_limit」。你的例子在「php.ini」文件中影響這個變量。 – 2009-08-21 18:01:49