Forum und email

fgets

(PHP 4, PHP 5)

fgets — Haalt een regel op van de bestands pointer

Beschrijving

string fgets ( resource $handle [, int $length ] )

Geeft een string terug, met een maximale lengte van length - 1, gelezen uit het bestand waar de bestands pointer handle naar verwijst. Het lezen uit het bestand stopt als length - 1 bytes zijn gelezen, of als er een nieuwe regel begint (die wordt meegegeven aan de string), of als er een EOF optreed (welke dan ook het eerste komt). Als length niet wordt opgegeven, wordt de standaardwaarde van 1k (1024 bytes) gebruikt.

Als er een fout optreed, geeft hij FALSE terug.

Veel voorkomende valkuilen:

Mensen die de 'C'-functie gewend zijn van fgets() moeten letten op het feit dat een EOF anders wordt teruggegeven.

De bestands pointer moet geldig zijn, en moet verwijzen naar een bestand dat succesvol geopend is door fopen(), popen(), of fsockopen().

Een makkelijk voorbeeld:

Example#1 Een bestand regel voor regel lezen

<?php
$handle 
fopen ("/tmp/inputfile.txt""r");
while (!
feof ($handle)) {
    
$buffer fgets($handle4096);
    echo 
$buffer;
}
fclose ($handle);
?>

Note: De length parameter is optioneel geworden in PHP 4.2.0. Als het wordt weggelaten., wordt 1024 als lijn lengte genomen. Vanaf PHP 4.3.0 wordt bij het weglaten van length net zolang van de stream gelezen totdat er een 'einde van de regel' is bereikt. Als de meeste regels in het bestand groter zijn dan 8KB, dan is het efficienter voor je script om de maximale lijn lengte op te geven.

Note: Deze functie is binair veilig vanaf PHP 4.3.0. Eerdere versies waren niet binair veilig.

Note: If you are having problems with PHP not recognizing the line endings when reading files either on or created by a Macintosh computer, you might want to enable the auto_detect_line_endings run-time configuration option.

Zie ook fread(), fgetc(), stream_get_line(), fopen(), popen(),