Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这两个php-gzdecode函数相同吗?_Php_Function_Gzip - Fatal编程技术网

这两个php-gzdecode函数相同吗?

这两个php-gzdecode函数相同吗?,php,function,gzip,Php,Function,Gzip,我遇到PHP:调用未定义的函数gzdecode()错误 几天前,我一直在php中使用它 function gzdecode($data) { return gzinflate(substr($data,10,-8)); } 参考: 我在查找旧php文件时发现了这段旧代码片段,所以我可以使用上面的代码而不是这段代码吗 function gzdecode($data) { $g=tempnam('/tmp', 'php-gz'); @file_put_contents($g,

我遇到PHP:调用未定义的函数gzdecode()错误 几天前,我一直在php中使用它

function gzdecode($data) 
{ 
   return gzinflate(substr($data,10,-8)); 
} 
参考:

我在查找旧php文件时发现了这段旧代码片段,所以我可以使用上面的代码而不是这段代码吗

function gzdecode($data) {
  $g=tempnam('/tmp', 'php-gz');
  @file_put_contents($g, $data);
  ob_start();
  readgzfile($g);
  $d=ob_get_clean();
  unlink($g);
  return $d;
}

如果您可以访问php.ini,只需启用
zlib
扩展即可使用
gzencode
。每种压缩方法都有一些细微的差别

请阅读@thomasrutter的答案摘要

所有这些都是可用的。我会使用gzencode(),因为它是自包含的;它的输出与您使用gzip命令行工具时的输出相同

这三者之间并没有太大区别

  • gzencode()使用完全自包含的gzip格式,与 gzip命令行工具
  • gzcompress()使用原始ZLIB格式。它是 类似于gzencode,但具有较少的头数据,等等。我认为是这样的 用于流媒体
  • gzdeflate()在上使用原始DEFLATE算法 它自己的,这是其他两种格式的基础

鉴于
gzflage
gzdecode
readgzfile
都来自Zlib PHP扩展,如果原始版本不起作用,但替换版本都起作用,我会非常惊讶。为什么不能使用内置函数?您是否使用较旧的PHP版本?升级您没有安装ZLib扩展吗?安装它。它已经启用,但仍然得到错误,这就是为什么我不得不起诉这个自定义功能,谢谢