Funkce fseek

Funkce fseek umožňuje přesunout ukazatel pozice v souboru. Jako první parametr přijímá ukazatel na soubor, jako druhý - posun v bajtech a jako třetí (volitelný) - počáteční bod. Funkce vrací 0 při úspěšném provedení a -1 při chybě.

Syntaxe

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

Příklad

Přesuňme ukazatel na 10. bajt od začátku souboru:

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

Příklad

Přesuňme ukazatel o 5 bajtů od aktuální pozice:

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

Příklad

Přesuňme ukazatel na 5 bajtů od konce souboru:

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

Příklad

Zkontrolujme výsledek provedení fseek:

php<?php
  $file = fopen('test.txt', 'r');
  $res = fseek($file, 10);
  echo $res; // 0 při úspěchu, -1 při chybě
  fclose($file);
?>

Výsledek provedení kódu:

php0

Viz také

  • funkci rewind,
    která resetuje ukazatel souboru
  • funkci ftell,
    která vrací aktuální pozici
  • funkci fread,
    která čte ze souboru