我得到一个奇怪的错误信息与下面的一些
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);
    }
}

我基本上是试图从一个gzip压缩的文件加载文本内容.我收到以下错误:

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

然而,当我看看documentation时,似乎不需要加入额外的图书馆,还是我错了?如何解决这个问题?

UPDATE

接下来另一个question来检查这个库是否安装在我的电脑上,答案是肯定的.

从PHP信息:

所以这越来越混乱了…

更新二

我努力了:

<?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

它并不总是安装.从
the documentation:

Zlib support in PHP is not enabled by default. You will need to configure PHP –with-zlib[=DIR]

The Windows version of PHP has built-in support for this extension. You do not need to load any additional extensions in order to use these functions.

编辑:由于这是接受的答案仍然,我编辑它添加建议作为替换的功能.

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

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。