Ejemplo n.º 1
0
 /**
  * Decompression of deflated string.
  *
  * Will attempt to decompress using the RFC 1950 standard, and if that fails
  * then the RFC 1951 standard deflate will be attempted. Finally, the RFC
  * 1952 standard gzip decode will be attempted. If all fail, then the
  * original compressed string will be returned.
  *
  * @since 2.8
  *
  * @param string $compressed String to decompress.
  * @param int $length The optional length of the compressed data.
  * @return string|bool False on failure.
  */
 public static function decompress($compressed, $length = null)
 {
     if (empty($compressed)) {
         return $compressed;
     }
     if (false !== ($decompressed = @gzinflate($compressed))) {
         return $decompressed;
     }
     if (false !== ($decompressed = nxt_Http_Encoding::compatible_gzinflate($compressed))) {
         return $decompressed;
     }
     if (false !== ($decompressed = @gzuncompress($compressed))) {
         return $decompressed;
     }
     if (function_exists('gzdecode')) {
         $decompressed = @gzdecode($compressed);
         if (false !== $decompressed) {
             return $decompressed;
         }
     }
     return $compressed;
 }