Funzione fseek

La funzione fseek consente di spostare l'indicatore di posizione in un file. Come primo parametro accetta un puntatore a un file, come secondo - un offset in byte, e come terzo (opzionale) - il punto di riferimento. La funzione restituisce 0 in caso di successo e -1 in caso di errore.

Sintassi

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

Esempio

Spostiamo l'indicatore al decimo byte dall'inizio del file:

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

Esempio

Spostiamo l'indicatore di 5 byte rispetto alla posizione corrente:

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

Esempio

Spostiamo l'indicatore di 5 byte dalla fine del file:

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

Esempio

Controlliamo il risultato dell'esecuzione di fseek:

php<?php
  $file = fopen('test.txt', 'r');
  $res = fseek($file, 10);
  echo $res; // 0 in caso di successo, -1 in caso di errore
  fclose($file);
?>

Risultato dell'esecuzione del codice:

php0

Vedi anche

  • la funzione rewind,
    che reimposta il puntatore del file
  • la funzione ftell,
    che restituisce la posizione corrente
  • la funzione fread,
    che legge dal file