SplFileObject::fseek
(PHP 5 >= 5.1.0, PHP 7)
SplFileObject::fseek — Перевод файлового указателя на заданную позицию
Описание
$offset
[, int $whence
= SEEK_SET
] )
Перемещает файловый указатель на указанное в параметре
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 SplFileInfo("somefile.txt");
// Чтение первой строки
$data = $file->fgets();
// Перемещаемся снова в начало файла
// смысл тот же, что и $file->rewind();
$file->fseek(0);
?>
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Другие базовые расширения
- Стандартная библиотека PHP (SPL)
- Обработка файлов
- Функция SplFileObject::__construct() - Конструктор класса SplFileObject
- Функция SplFileObject::current() - Получение текущей строки файла
- Функция SplFileObject::eof() - Проверяет, достигнут ли конец файла
- Функция SplFileObject::fflush() - Сбрасывает буфер вывода в файл
- Функция SplFileObject::fgetc() - Читает символ из файла
- Функция SplFileObject::fgetcsv() - Получение строки файла и ее разбор в соответствии с CSV разметкой
- Функция SplFileObject::fgets() - Читает строку из файла
- Функция SplFileObject::fgetss() - Получение строки из файла с очисткой от HTML тэгов
- Функция SplFileObject::flock() - Портируемая блокировка файла
- Функция SplFileObject::fpassthru() - Выводит все оставшееся содержимое файла в выходной поток
- Функция SplFileObject::fputcsv() - Выводит поля массива в виде строки CSV
- SplFileObject::fread
- Функция SplFileObject::fscanf() - Разбор строки файла в соответствии с заданным форматом
- Функция SplFileObject::fseek() - Перевод файлового указателя на заданную позицию
- Функция SplFileObject::fstat() - Получает информацию о файле
- Функция SplFileObject::ftell() - Определение текущей позиции файлового указателя
- Функция SplFileObject::ftruncate() - Обрезает файл до заданной длины
- Функция SplFileObject::fwrite() - Запись в файл
- Функция SplFileObject::getChildren() - Метод-заглушка
- Функция SplFileObject::getCsvControl() - Получает символы разделителя и ограничителя для CSV
- Функция SplFileObject::getCurrentLine() - Псевдоним метода SplFileObject::fgets
- Функция SplFileObject::getFlags() - Получает флаги настройки объекта SplFileObject
- Функция SplFileObject::getMaxLineLen() - Получает максимальную длину строки
- Функция SplFileObject::hasChildren() - Класс SplFileObject не имеет наследников
- Функция SplFileObject::key() - Получение номера строки
- Функция SplFileObject::next() - Читает следующую строку
- Функция SplFileObject::rewind() - Перевод файлового указателя в начало файла
- Функция SplFileObject::seek() - Перевод файлового указателя на заданную строку
- Функция SplFileObject::setCsvControl() - Устанавливает символы разделителя и ограничителя для CSV
- Функция SplFileObject::setFlags() - Установливает флаги для SplFileObject
- Функция SplFileObject::setMaxLineLen() - Устанавливает максимальную длину строки
- Функция SplFileObject::__toString() - Псевдоним SplFileObject::current
- Функция SplFileObject::valid() - Проверяет, достигнут ли конец файла (EOF)
Коментарии
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();
?>