fgetc în PHP

Citește un singur octet dintr-un fișier deschis.

Sintaxă
fgetc($stream): string|false

Ce face fgetc

fgetc citește următorul octet de la poziția cursorului. La sfârșitul fișierului returnează false.

Pentru texte în UTF-8, o literă cu diacritice are 2 octeți, deci fgetc o va da în două bucăți. Este potrivit pentru formate simple sau binare, nu pentru text românesc.

Parametri

Parametru Descriere
$stream Resursa returnată de fopen.

Ce returnează

Un text de un octet sau false la final.

Exemple

Exemplul 1: Numărarea liniilor, octet cu octet

<?php
file_put_contents("text.txt", "unu\ndoi\ntrei\n");
$f = fopen("text.txt", "r");

$linii = 0;
while (($c = fgetc($f)) !== false) {
    if ($c === "\n") {
        $linii++;
    }
}
fclose($f);

echo "Linii: $linii";

Rezultat

Linii: 3

Greșeli frecvente

  • Scrii while ($c = fgetc($f)). Bucla se oprește la caracterul 0, care este considerat fals. Compară cu !== false.

Comenzi înrudite

  • fgets: Citește o linie dintr-un fișier deschis cu fopen.
  • fread: Citește un număr dat de octeți dintr-un fișier deschis.
  • feof: Verifică dacă s-a ajuns la sfârșitul unui fișier deschis.