Функция fseek

Функция fseek позволяет перемещать указатель позиции в файле. Первым параметром она принимает указатель на файл, вторым - смещение в байтах, а третьим (необязательным) - точку отсчета. Функция возвращает 0 при успешном выполнении и -1 при ошибке.

Синтаксис

phpfseek(resource $handle, int $offset, int $whence = SEEK_SET): int

Пример

Переместим указатель на 10-й байт от начала файла:

php<?php
  $file = fopen('test.txt', 'r');
  fseek($file, 10);
  echo fgets($file);
  fclose($file);
?>

Пример

Переместим указатель на 5 байт от текущей позиции:

php<?php
  $file = fopen('test.txt', 'r');
  fseek($file, 5, SEEK_CUR);
  echo fgets($file);
  fclose($file);
?>

Пример

Переместим указатель на 5 байт от конца файла:

php<?php
  $file = fopen('test.txt', 'r');
  fseek($file, -5, SEEK_END);
  echo fgets($file);
  fclose($file);
?>

Пример

Проверим результат выполнения fseek:

php<?php
  $file = fopen('test.txt', 'r');
  $res = fseek($file, 10);
  echo $res; // 0 при успехе, -1 при ошибке
  fclose($file);
?>

Результат выполнения кода:

php0

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

  • функцию rewind,
    которая сбрасывает указатель файла
  • функцию ftell,
    которая возвращает текущую позицию
  • функцию fread,
    которая читает из файла