gzseek

(PHP 4, PHP 5)

gzseek — Перемещает индикатор позиции в gz-файле

Описание

int gzseek ( resource $zp , int $offset )

Устанавливает индикатор позиции файла, на который ссылается zp, в смещение в байтах потока этого файла. Эквивалентно вызову (на C) gzseek(zp, offset, SEEK_SET).

Если файл открыт для чтения, эта функция симулируется, но будет работать очень медленно. Если файл открыт для записи, разрешён только поиск вперёд; gzseek() при этом сжимает последовательность нулей до новой позиции.

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

zp

Указатель на gz-файл, возвращённый, после его успешного открытия, функцией gzopen().

offset

Смещение.

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

При успешном завершении возвращает 0; иначе -1. Обратите внимание, что если смещение стоит после EOF, это не является ошибкой.

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

Коментарии

PHP/4.3.9
contrary to the notes, gzseek() returns -1 if I try to seek past the end of the file.  here is a function that will return the last seekable position, and put the file pointer there.

/** sets the file pointer at the end of the file
 *  and returns the number of bytes in the file.
 */
function gzend($fh)
{
   $d   = 1<<14;
   $eof = $d;
   while ( gzseek($fh, $eof) == 0 ) $eof += $d;
   while ( $d > 1 )
   {
      $d >>= 1;
      $eof += $d * (gzseek($fh, $eof)? -1 : 1);
   }
   return $eof;
}
2005-04-12 11:47:52
http://php5.kiev.ua/manual/ru/function.gzseek.html
Since seek after the end is not considered an error, I doubt that "while (gzseek ($fh, $eof) == 0) $eof += $d;" will get into infinite loop.
2012-10-15 08:43:38
http://php5.kiev.ua/manual/ru/function.gzseek.html

    Поддержать сайт на родительском проекте КГБ