CakeFest 2024: The Official CakePHP Conference

gzgets

(PHP 4, PHP 5, PHP 7, PHP 8)

gzgetsПолучить строку из указателя файла

Описание

gzgets(resource $stream, ?int $length = null): string|false

Получает строку (несжатую) из gz-файла, её длина ограничивается length - 1 байтами. Чтение заканчивается при достижении максимальной длины, конца строки или конца файла (EOF), в зависимости от того, что наступит раньше.

Список параметров

stream

Указатель на gz-файл. Он должен быть корректный и должен указывать на файл, успешно открытый gzopen().

length

Максимальный размер возвращаемых данных.

Возвращаемые значения

Распакованная строка или false в случае возникновения ошибки.

Список изменений

Версия Описание
8.0.0 length теперь допускает значение null; ранее значение по умолчанию было 1024.

Примеры

Пример #1 Пример использования gzgets()

<?php
$handle
= gzopen('somefile.gz', 'r');
while (!
gzeof($handle)) {
$buffer = gzgets($handle, 4096);
echo
$buffer;
}
gzclose($handle);
?>

Смотрите также

  • gzopen() - Открыть gz-файл
  • gzgetc() - Получить символ из указателя на gz-файл
  • gzwrite() - Бинарная запись в gz-файл

add a note

User Contributed Notes 3 notes

up
1
prismngp1 at yahoo dot com
21 years ago
<?
// this is simple code by VIJAY to unzip .gz file
$file = "/absolute/path/to/your/file" ;
$fp = fopen("$file", "w") ;
// file to be unzipped on your server
$filename = "filename.gz" ;
$zp = gzopen($filename, "r");

if ($zp)
{
while (!gzeof($zp))
{
$buff1 = gzgets ($zp, 4096) ;
fputs($fp, $buff1) ;
}
}
gzclose($zp) ;
fclose($fp) ;
?>
up
0
divinity76 at gmail dot com
4 years ago
PS when it encounters and breaks on a newline byte ("\n"), the newline byte itself is not included in the returned string.
up
0
Anonymous
18 years ago
For the above example by VIJAY, using gzgetc would be better, as I've encountered binary/text file incompatibilities (at least with PHP 4.0.4).
To Top