php – 有没有办法测试字符串是否为gzdeflated?

前端之家收集整理的这篇文章主要介绍了php – 有没有办法测试字符串是否为gzdeflated?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
也就是说,测试我是否可以安全地gzinflate字符串.

如果我的压缩数据被篡改,我会收到“错误数据”警告.我不想压制警告,这意味着我要么必须捕获它,要么测试它是否可以被gzinflated.后者是我的首选解决方案,但我不知道如何.

适合下面的代码示例的东西将是完美的:

if(i_can_haz_inflate($data))
{
    // go ahead
    $source = gzinflate($data);
}
else
{
    // bad data
}

编辑:指定了gz(de | in)flate后我才意识到我实际上并不太关心压缩算法.在解压缩尝试之前是否有更适合检查完整性的内容

如果gzinflate()不是gzdeflate()编码的字符串,则返回原始字符串.

最明显的检查是:

$deflated = @gzinflate($data); // to avoid getting a warning
if ($data != $deflated && $deflated !== FALSE) {
     $source  = gzinflate($data);
}

我不认为还有另一种方法可以做到这一点.

猜你在找的PHP相关文章