gzdecode和PHP?

时间:2012-05-23 22:38:27

标签: php gzip

  

可能重复:
  Decompressing a .gz file via PHP

我不能将gzdecode与php一起使用,因为它没有安装,我无法安装它,

到目前为止我一直在使用它......

// GZIP DECODE
function gzDecode($d) {
$f = ord(substr($d, 3, 1));
$h = 10;
$e = 0;
if($f&4) {
    $e = unpack('v', substr($d, 10, 2));
    $e = $e[1];
    $h += 2 + $e;
}
if($f&8) {
    // ERROR HERE
    $h = @strpos($d, chr(0), $h) + 1;
}
if($f&16) {
    $h = strpos($d, chr(0), $h) + 1;
}
if($f&2) {
    $h += 2;
}
// ERROR HERE
$u = @gzinflate(substr($d, $h));
if($u == false) {
    $u = $d;
}
return $u;
}

它有效,但PHP 5.3有更好的解决方案吗?如果没有,我有什么方法可以摆脱存在的错误吗?

1 个答案:

答案 0 :(得分:5)

您是否看过http://php.net/gzdecode评论中显示的一些材料?评论包括您可以完全解除的gzdecode()函数的a simple way using gzinflate()a pure PHP implementation

作为一般的经验法则,不要重新发明你不需要的轮子!