請注意,gzuncompress() 可能無法解壓縮某些壓縮字串,並傳回資料錯誤。
問題可能是外部壓縮字串結尾的校驗和是 CRC32,而不是 PHP 預期的 Adler-32。
解決方法
<?php
function gzuncompress_crc32($data) {
$f = tempnam('/tmp', 'gz_fix');
file_put_contents($f, "\x1f\x8b\x08\x00\x00\x00\x00\x00" . $data);
return file_get_contents('compress.zlib://' . $f);
}
?>