Функция 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,
    която чете от файл