Forum und email

fgets

(PHP 4, PHP 5)

fgets — Kinyer egy sort a fájl pointerből

Leírás

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

Visszad egy maximum length - 1 bájt hosszúságú karakterláncot, amit a handle pointerből olvasott ki. Az olvasás véget ér, ha length - 1 bájtot már beolvasott, új sor kezdődött (a sortörés benne van a visszatérési értékben), vagy EOF (fájl vége) esetén (amelyik hamarabb esik meg). Ha nincs hossz megadva, addig fog olvasni az adatfolyamból, míg el nem éri a sor végét.

Ha hiba lép fel, FALSE-szal tér vissza.

Gyakori csapda:

Azok, akik megszokták a fgets() függvény 'C' szemantikai használatát, fejben kell tartaniuk, hogy a függvény EOF-t is adhat vissza.

A fájlmutatónak valósnak kell lennie, egy fopen() vagy fsockopen() által sikeresen megnyitott erőforrásra kell mutatnia.

Íme egy egyszerű példa:

Example#1 Fájl sorról sorra való beolvasása

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

Note: A length paraméter opcinálissá vált a 4.2.0-ban. A PHP 4.3.0-ig, omitting it would assume 1024 as the line length. If the majority of the lines in the file are all larger than 8KB, it is more resource efficient for your script to specify the maximum line length.

Note: Ez a függvény binary safe a PHP 4.3-tól. A korvábbi verziók nem binary safe-ek.

Note: Ha problémád akadna PHP-ben Machintosh gépen létrehozott szöveges fileokban a sorvégek olvasásával, valószínűleg be kell kapcsolnod az auto_detect_line_endings beállítást.

Lásd még: fgetss() fread(), fgetc(), stream_get_line(), fopen(), popen(), fsockopen() és stream_set_timeout().