fgets

fgets -- Načíta riadok zo súboru zadaného deskriptorom

Popis

string fgets ( resource deskriptor [, int dlzka])

Načíta zo súboru zadaného parametrom deskriptor reťazec dĺžky dlzka - 1 . Načítavanie skončí , ak bolo prečítaných dlzka - 1 bytov alebo bol načítaný znak konca riadku ( tento znak bude obsiahnutý aj v návratovej hodnote ) alebo na znaku konca súboru (EOF ) , podľa toho , ktorá z uvedených možností nastane ako prvá . Ak dĺžka nie je špecifikovaná , bude použitá implicitná hodnota 1k , resp . 1024 bytov .

Ak nastane chyba , bude vrátené FALSE .

Časté chyby a nástrahy :

Užívatelia zvyknutý používať sémantiku funkcie fgets( ) v štýle jazyka C by si mali všimnúť rozdiel v tom , ako je vrátený EOF .

Deskriptor súboru musí byť platný a musí odkazovať na súbor , ktorý bol úspešne otvorený pomocou fopen( ) , popen( ) alebo fsockopen( ) .

Nasleduje jednoduchý príklad :

Príklad 1 . Načítavanie súboru po riadkoch

 
$handle

 
=

 
fopen

 
(

 
"

 
/

 
tmp

 
/

 
subor.txt"

 
,

 
"r")

 
;

 
while

 
(!feof

 
($handle)

 
)

 
{

 
$buffer

 
=

 
fgets($handle

 
,

 
4096)

 
;

 
echo

 
$buffer

 
;

 
}

 
fclose

 
($handle)

 
;





Poznámka : Parameter length je voliteľným od verzie PHP 4.2.0 , ak je vynechaný , predpokladá sa ako dĺžka riadku hodnota 1024 . Od PHP 4.3 , vynechanie parametra dĺžka zaistí načítavanie z prúdu dovtedy , kým sa nenarazí na koniec súboru . Ak väčšina riadkov v súbore je dlhšia ako 8KB , je efektívnejšie definovať v skripte dĺžku riadku .

Poznámka : Táto funkcia pracuje správne s binárnymi súbormi od verzie PHP 4.3 . Staršie verzie nemusia s binárnymi súbormi pracovať správne .

Poznámka :

Pozri tiež fread( ) , fopen( ) , popen( ) , fgetc( ) , fsockopen( ) a socket_set_timeout( ) .