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