ftell în PHP

Returnează poziția curentă a cursorului dintr-un fișier deschis.

Sintaxă
ftell($stream): int|false

Ce face ftell

ftell spune la ce octet se află cursorul, numărat de la începutul fișierului. După fiecare citire sau scriere, poziția crește cu numărul de octeți prelucrați.

Poți salva poziția și reveni mai târziu la ea cu fseek, de exemplu ca să continui citirea unui jurnal de unde ai rămas.

Parametri

Parametru Descriere
$stream Resursa returnată de fopen.

Ce returnează

Poziția în octeți sau false la eroare.

Exemple

Exemplul 1: Poziția după fiecare linie

<?php
file_put_contents("lista.txt", "pâine\nlapte\nouă\n");
$f = fopen("lista.txt", "r");

while (($linie = fgets($f)) !== false) {
    echo rtrim($linie) . " → poziția " . ftell($f) . "\n";
}
fclose($f);

Rezultat

pâine → poziția 7
lapte → poziția 13
ouă → poziția 18

Greșeli frecvente

  • Folosești ftell pe un fișier deschis cu "a" imediat după deschidere. Poziția poate fi 0, deși scrierea se va face la final.

Comenzi înrudite

  • fseek: Mută cursorul unui fișier deschis la o anumită poziție, în octeți.
  • rewind: Mută cursorul unui fișier deschis înapoi la început.
  • fgets: Citește o linie dintr-un fișier deschis cu fopen.