在PHP中,你可以打開一個壓縮資源無論是這樣的:流充氣包裝?
$fp = fopen('compress.zlib://http://httpbin.org/gzip','rb')
或
$fp = gzopen('http://httpbin.org/gzip','rb')
我如何打開一個泄了氣的資源? (如http://httpbin.org/deflate)
N.B.我做不是想要將整個流讀入內存,以便我可以運行gzinflate
就可以了。
在PHP中,你可以打開一個壓縮資源無論是這樣的:流充氣包裝?
$fp = fopen('compress.zlib://http://httpbin.org/gzip','rb')
或
$fp = gzopen('http://httpbin.org/gzip','rb')
我如何打開一個泄了氣的資源? (如http://httpbin.org/deflate)
N.B.我做不是想要將整個流讀入內存,以便我可以運行gzinflate
就可以了。
您可以使用stream_filter_append
在讀取時應用充氣過濾器。
$fp = fopen('http://httpbin.org/deflate','rb');
$params = array('level' => 6, 'window' => 15, 'memory' => 9);
stream_filter_append($fp, 'zlib.inflate', STREAM_FILTER_READ, $params);
print fread($fp,8192);
看起來像這樣。儘管那些'$ params'對* read *有任何影響嗎? – mpen 2014-10-06 17:23:08
@標記雖然沒有在文檔中提到(http://php.net/manual/en/filters.compression.php),但它看起來像'window'是讀取時唯一需要的參數 – FuzzyTree 2014-10-06 17:36:08