PHP:调用未定义的函数 gzdecode()

标签 php function undefined

我收到一条奇怪的错误消息,其中包含以下 PHP 代码(我不是 PHP 专家):

if ( $file_loc != NULL ) {
    if ( file_exists($file_loc) ) {
        printf(" file exists");
        $handle = fopen($file_loc, "rb");
        $contents = fread($handle, filesize($file_loc));
        fclose($handle);
        $result = gzdecode($contents);
    }
}

我基本上试图从 gzipped 文件加载文本内容。我收到以下错误:

Fatal error: Call to undefined function gzdecode() in ...\sites\MyScripts\fw2.php on line 80

然而,当我查看 documentation 时,我似乎不需要包含额外的库,还是我错了?我该如何解决这个问题?

更新

关注另一个question检查我的电脑上是否安装了这个库,答案是肯定的。

来自 PHP 信息:

enter image description here

所以这变得越来越令人困惑......

更新二

我已经尝试过:

<?php

echo phpversion().", ";

if (function_exists("gzdecode")) {
  echo "gzdecode OK, ";
} else {
  echo "gzdecode no OK, ";
}

if (extension_loaded('zlib')) {
  echo "zlib extension loaded ";
} else {
  echo "zlib extension not loaded ";
}

?>

我得到:

5.2.17, gzdecode no OK, zlib extension loaded 

最佳答案

除非 PHP 兼容 zlib,否则 gzdecode 不可用。据一些消息来源称,它可能会包含在 PHP 6 中。请注意手册中几乎所有函数在 PHP 可用时都给出了 PHP 版本号。奇怪的是,他们认为不需要显示警告消息。

尝试使用此代码(对我有用)进行不带校验和的 gzdecode:

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

关于PHP:调用未定义的函数 gzdecode(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9801908/

相关文章:

javascript - 表单数据在新页面中不可见 - PHP + Javascript

php - 在数据库上设置小数点但仍然只读取整数

javascript - 为什么这个 'undefined' 出现在 HTML 中?

javascript - RapidAPI 响应体显示为 "undefined"

php - PHP 中的日历日 View

c# - 是否可以用 C# 以外的语言实现属性?

c++ - 一个函数使用多少内存?

javascript - GraphQL 解析器 - 在 promise 解决后返回我的函数

python - Numpy,沿数组维度应用函数列表

javascript - Highcharts.js 不会呈现图表,它表示错误 "Cannot read property ' 系列' of undefined”