PHP: вызов неопределенной функции gzdecode ()

Я получаю странное сообщение об ошибке со следующим фрагментом 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 

Тем не менее, когда я смотрю документацию , мне кажется, что мне не нужно включать дополнительную библиотеку, или я ошибаюсь? Как я могу решить эту проблему?

ОБНОВИТЬ

Следуя еще одному вопросу, чтобы проверить, установлена ​​ли эта библиотека на моем ПК, да, это так.

Из информации PHP:

введите описание изображения здесь

Так что это становится все более запутанным …

ОБНОВЛЕНИЕ II

Я пытался:

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

Он не всегда установлен. Из документации :

Поддержка Zlib в PHP не включена по умолчанию. Вам нужно будет настроить PHP -with-zlib [= DIR]

Версия PHP для Windows имеет встроенную поддержку этого расширения. Вам не нужно загружать дополнительные расширения, чтобы использовать эти функции.

edit: Поскольку это уже принятый ответ, я отредактировал его, чтобы добавить функцию, предложенную в качестве замены.

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

gzdecode недоступен, если PHP не соответствует zlib. По некоторым данным, он будет включен в PHP 6. Обратите внимание на то, как почти все функции предоставили номер версии PHP, когда он стал / доступен. Как ни странно, они не считают необходимым отображать предупреждающее сообщение.

Попробуйте этот код (работает для меня) для gzdecode без контрольных сумм:

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

Функция gzdecode доступна с php 5.4 введите описание изображения здесь

Мое любимое решение

Uncompress gzip сжатый HTTP-ответ