fgets

(PHP 3, PHP 4 , PHP 5)

fgets --  Renvoie la ligne courante sur laquelle se trouve le pointeur du fichier

Description

string fgets ( resource handle [, int length] )

fgets() retourne la chaîne lue jusqu'à la longueur length - 1 octet depuis le pointeur de fichier handle, ou bien la fin du fichier, ou une nouvelle ligne (qui inclue la valeur retournée), ou encore un EOF (celui qui arrive en premier). Si aucune longueur n'est fournie, la longueur par défaut est de 1 ko ou 1024 octets.

Si une erreur survient, fgets() retourne FALSE.

Erreur courante :

Les programmeurs habitués à la programmation 'C' noteront que fgets() ne se comporte pas comme son équivalent C lors de la rencontre de la fin du fichier.

Le pointeur de fichier doit être valide et pointer sur un fichier ouvert avec succès par fopen() ou fsockopen().

Un exemple simple :

Exemple 1. Lecture d'un fichier ligne par ligne

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

Note : Le paramètre length est devenu optionnel depuis PHP 4.2.0. S'il est omis, il prend la valeur par défaut de 1024. Depuis PHP 4.3.0, omettre le paramètre length fait que la fonction va continuer à lire le flux jusqu'à ce que la ligne s'achève. Si la majorité des lignes du fichier dépassent les 8 ko, il est plus efficace pour votre script de spécifier ce paramètre.

Note : fgets() est compatible avec les données binaires depuis PHP 4.3. Les versions plus anciennes ne le sont pas.

Note : Si vous avez des problèmes avec PHP qui ne reconnaît pas certaines lignes lors de la lecture de fichier qui ont été créé ou lus sur un MacIntosh, vous pouvez activer l'option de configuration auto_detect_line_endings.

Voir aussi fread(), fgetc(), stream_get_line(), fopen(), popen(), fsockopen() et stream_set_timeout().