Search code examples
phpcompressiondeflate

Inflate data encoded with ZLIB_ENCODING_DEFLATE in php


Saying a compressed string:

$compressed   = gzdeflate('Compress me', 9, ZLIB_ENCODING_DEFLATE);

How uncompress it?

$uncompressed = gzinflate($compressed);

Warning: gzinflate(): data error in php shell code on line 1

Solution

  • As a workaround you can use gzcompress() and gzuncompress() to get deflated zlib encoding.

    The compressed string is the same as using gzdeflate() and the inflating (uncompressing) works without any error.

    $compressed = gzcompress('Compress me', 9, ZLIB_ENCODING_DEFLATE);
    var_dump($compressed);
    

    string(19) "xs-(J-.VM║\000╝?"

    $uncompressed = gzuncompress($compressed);
    var_dump($uncompressed);
    

    string(11) "Compress me"