2010-09-04 3 views

Répondre

1

Voir dans le manuel: PHP: Compression and Archive functions

et il spécifiquement: ZLib functions, par exemple gzcompress()

Ils requièrent la présence du module ZLib.

+0

Merci Pekka, mais j'avais besoin d'une classe qui traite de tous ces algorithmes, quelque chose comme: decode ($ string, "x-gzip"); – Ryan

+0

@David Je vois. Je doute qu'il y ait une bibliothèque aussi universelle. Il devrait s'agir d'une extension compilée, une implémentation PHP de celles-ci serait probablement terriblement lente ... Peut-être que vous pouvez mettre quelque chose ensemble mais je ne sais pas si ces autres algorithmes (qu'est ce que 'compress'?) Ont un PHP mise en œuvre du tout. Quoi qu'il en soit, attendez - peut-être que quelque chose se lève. –

0

Si vous avez juste besoin d'une enveloppe générique pour décoder la base d'un nom de méthode donnée, utilisez un tableau à la place:

$decode = array(
    "gzip" => "gzdecode", 
    "deflate" => "gzinflate", 
    "compress" => "gzuncompress", 
    "x-gzip" => "gzdecode", 
    "x-deflate" => "gzinflate", 
    "x-compress" => "gzuncompress", 
); 

Ensuite, au lieu de decode (bin $, « X- gzip ") vous utilisez simplement:

$uncompressed = $decode["x-gzip"]($bin_data); 

Bien que je m'interroge sur le cas d'utilisation. Et peut-être vous feriez mieux de l'envelopper dans une fonction ..:}

Questions connexes