SplFileObject::fseek

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::fseekПеревод файлового указателя на заданную позицию

Описание

public SplFileObject::fseek(int $offset, int $whence = SEEK_SET): int

Перемещает файловый указатель на указанное в параметре offset количество байт. За позицию, от которой будет отсчитываться смещение отвечает параметр whence.

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

offset

Смещение. Отрицательная величина смещения используется, когда нужно перемещаться по файлу от конца к началу, т.е. когда в качестве аргумента whence передано значение SEEK_END.

whence

Возможные значения параметра whence:

  • SEEK_SET - Установить указатель на позицию offset байт от начала файла.
  • SEEK_CUR - Переместить указатель на offset байт относительно текущего положения.
  • SEEK_END - Установить указатель на позицию offset байт от конца файла.

Если параметр whence опущен, функция будет работать в режиме SEEK_SET.

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

Возвращает 0, если перемещение прошло успешно, и -1 в противном случае. Следует помнить, что перемещение за конец файла не рассматривается как ошибка.

Примеры

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

<?php
$file
= new SplFileObject("somefile.txt");

// Чтение первой строки
$data = $file->fgets();

// Перемещаемся снова в начало файла
// То же, что и $file->rewind();
$file->fseek(0);
?>

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

  • fseek() - Устанавливает смещение в файловом указателе

add a note add a note

User Contributed Notes 1 note

up
-7
wangbuying at gmail dot com
11 years ago
make sure you know this fseek in SplFileObject is different from \fseek.
Argument for fseek in SplFileObject is the line number, not the bytes.
Example:
<?php
$fp
= new SplFileObject('./fseek.txt', 'rb');
$fp->fseek(70); // now go to line 70, not byte 70
echo $fp->fgets();
?>
To Top