fseek

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

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

Описание

fseek(resource$stream, int$offset, int$whence = SEEK_SET): int

Устанавливает смещение в файле, на который ссылается stream. Новое смещение, измеряемое в байтах от начала файла, получается путём прибавления параметра offset к позиции, указанной в параметре whence.

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

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

stream

Ресурс (resource) указателя файловой системы, который часто создают функцией fopen().

offset

Смещение.

Для смещения позиции перед концом файла необходимо передать отрицательное значение offset и установить параметр whence в SEEK_END.

whence

Значениями whence являются:

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

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

В случае успешного выполнения возвращает 0; в противном случае возвращает -1.

Примеры

Пример #1 Пример использования функции fseek()

<?php

$fp
= fopen('somefile.txt', 'r');

// читаем немного данных
$data = fgets($fp, 4096);

// перемещаемся назад к началу файла
// то же самое, что и rewind($fp);
fseek($fp, 0);

?>

Примечания

Замечание:

Если файл открыт в режиме "записи в конец" (a или a+), любые записываемые в файл данные будут записываться в конец, вне зависимости от позиции файла, а результат вызова fseek() будет не определён.

Замечание:

Не все потоки поддерживают смещение указателя. Для потоков, не поддерживающих эту операцию, смещение вперёд осуществляется чтением и отбрасыванием данных, другие формы смещения закончатся ошибкой.

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

  • ftell() - Возвращает текущую позицию указателя чтения/записи файла
  • rewind() - Сбрасывает курсор файлового указателя
To Top