-1

重複の可能性:
PHPを介した.gzファイルの解凍

gzdecodeがインストールされておらず、インストールできないため、phpでgzdecodeを使用できません。

私はこれまでこれを使用しています...

// 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のより良い解決策はありますか?そうでない場合、存在するエラーを取り除く方法はありますか?

4

1 に答える 1

6

http://php.net/gzdecodeのコメントに示されている資料のいくつかを見たことがありますか?コメントには、簡単な使用方法gzinflate()と、完全に持ち上げることができる関数の純粋なPHP実装が含まれています。gzdecode()

一般的な経験則として、必要のない場所で車輪の再発明を行わないでください。

于 2012-05-23T23:05:03.520 に答える