fseek
(PHP 4, PHP 5)
fseek — Устанавливает смещение в файловом указателе
Описание
int fseek
( resource $handle
, int $offset
[, int $whence = SEEK_SET
] )
В общей сложности, разрешается указывать смещение за пределами
конца файла, если данные потом будут записаны в этой позиции,
чтение любого незаписанного региона между концом файла и указанной
позицией возвратит нулевые байты. Однако, определенные потоки
могут не поддерживать это поведение, особенно если они оперируют
над хранилищем фиксированного размера.
Список параметров
-
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($fp, 4096);
// перемещаемся назад к началу файла
// то же самое, что и rewind($fp);
fseek($fp, 0);
?>
Примечания
Замечание:
Если файл открыт в режими "записи в конец" (a или
a+), любые записываемые в файл данные будут
записываться в конец, вне зависимости от позиции файла, а результат
вызова fseek() будет не определен.
Замечание:
Не все потоки поддерживают смещение указателя. Для потоков,
неподдерживающих эту операцию, смещение вперед осуществляется
чтением и отбрасыванием данных, другие формы смещения закончатся
ошибкой.
Смотрите также
- ftell() - Сообщает текущую позицию чтения/записи файла
- rewind() - Сбрасывает курсор у файлового указателя