Funktio fseek

Funktio fseek mahdollistaa tiedoston sijaintiosoittimen siirtämisen. Se ottaa ensimmäisenä parametrina tiedosto-osoittimen, toisena siirron tavuina ja kolmantena (valinnaisena) laskentapisteen. Funktio palauttaa 0 onnistuessaan ja -1 virhetilanteessa.

Syntaksi

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

Esimerkki

Siirretään osoitin 10. tavuun tiedoston alusta:

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

Esimerkki

Siirretään osoitin 5 tavua nykyisestä sijainnista:

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

Esimerkki

Siirretään osoitin 5 tavua tiedoston lopusta:

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

Esimerkki

Tarkistetaan fseek-funktion suorituksen tulos:

php<?php
  $file = fopen('test.txt', 'r');
  $res = fseek($file, 10);
  echo $res; // 0 onnistuessa, -1 virheessä
  fclose($file);
?>

Koodin suorituksen tulos:

php0

Katso myös

  • funktion rewind,
    joka nollaa tiedosto-osoittimen
  • funktion ftell,
    joka palauttaa nykyisen sijainnin
  • funktion fread,
    joka lukee tiedostosta