fseek

(PHP 4, PHP 5, PHP 7)

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

Описание

fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] ) : int

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

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

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

handle

Указатель (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($fp4096);

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

?>

Примечания

Замечание:

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

Замечание:

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

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

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