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);
}

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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...