fgets
(PHP 4, PHP 5)
fgets — Renvoie la ligne courante sur laquelle se trouve le pointeur du fichier
Description
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 inclut la valeur retournée), ou encore un EOF (celui qui arrive en premier). Si aucune longueur n'est fournie, la fonction lira le flux jusqu'à la fin de la ligne.
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() (et pas encore fermé par fclose()).
Un exemple simple :
Example#1 Lecture d'un fichier ligne par ligne
<?php
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
}
?>
Note: Le paramètre length est devenu optionnel depuis PHP 4.2.0. Depuis PHP 4.3.0, le fait d'ommettre ce paramètre fait que la fonction lira 1024 octets de la ligne. 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 fichiers qui ont été créés ou lus sur un MacIntosh, vous pouvez activer l'option de configuration auto_detect_line_endings.
Voir aussi fgetss() fread(), fgetc(), stream_get_line(), fopen(), popen(), fsockopen() et stream_set_timeout().