我有这个功能用于解码 gzipped 文件,
// GZIP DECODE
function gzipDecode($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) {
$h = @strpos($d, chr(0), $h) + 1;
}
if($f&16) {
$h = strpos($d, chr(0), $h) + 1;
}
if($f&2) {
$h += 2;
}
$u = @gzinflate(substr($d, $h));
if($u == false) {
$u = $d;
}
return $u;
}
它按预期工作,但我打开了错误报告,我得到了这两个错误
警告:strpos():偏移量不包含在字符串中
和
警告:gzinflate():数据错误
这些警告是指上面已被错误抑制的代码位,对如何修复它们有任何想法吗?
谢谢