Funcția fseek

Funcția fseek permite deplasarea indicatorului de poziție într-un fișier. Ca prim parametru acceptă un indicator de fișier, ca al doilea - o compensare în octeți, iar ca al treilea (opțional) - punctul de referință. Funcția returnează 0 în caz de succes și -1 în caz de eroare.

Sintaxă

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

Exemplu

Să mutăm indicatorul la al 10-lea octet de la începutul fișierului:

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

Exemplu

Să mutăm indicatorul cu 5 octeți de la poziția curentă:

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

Exemplu

Să mutăm indicatorul cu 5 octeți de la sfârșitul fișierului:

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

Exemplu

Să verificăm rezultatul execuției fseek:

php<?php
  $file = fopen('test.txt', 'r');
  $res = fseek($file, 10);
  echo $res; // 0 în caz de succes, -1 în caz de eroare
  fclose($file);
?>

Rezultatul executării codului:

php0

Vedeți și

  • funcția rewind,
    care resetează indicatorul fișierului
  • funcția ftell,
    care returnează poziția curentă
  • funcția fread,
    care citește din fișier