(PHP 4 >= 4.0.1, PHP 5)
fscanf — Analyse un fichier en fonction d'un format
La fonction fscanf() est similaire à la fonction
sscanf(), sauf qu'elle prend un fichier en entrée,
représentée par la ressource handle
et interprète
l'entrée en fonction du format format
spécifié,
qui est décrit dans la documentation de la fonction
sprintf().
Tous les caractères blancs de la chaîne de formatage correspondent à autant d'espaces dans le flux d'entrée. Cela signifie qu'une tabulation \t dans la chaîne de format peut remplacer un espace simple dans le flux d'entrée.
Chaque appel à la fonction fscanf() lit une ligne du fichier.
Si seulement 2 paramètres sont passés à la fonction, la valeur analysée sera retourné sous la forme d'un tableau. Si des paramètres optionnels sont passés, la fonction retournera le nombre de valeurs assignées. Les paramètres optionnels doivent être passés par référence.
Version | Description |
---|---|
4.3.0 | Avant PHP 4.3.0, le nombre maximum de caractères lus dans le fichier était de 512, ou bien jusqu'à la première nouvelle ligne "\n" : en fait, le premier des deux. Depuis PHP 4.3.0, des lignes de n'importe quelle taille peuvent être lues. |
Exemple #1 Exemple avec fscanf()
<?php
$handle = fopen("users.txt", "r");
while ($userinfo = fscanf($handle, "%s\t%s\t%s\n")) {
list ($name, $profession, $countrycode) = $userinfo;
//... traitement des données
}
fclose($handle);
?>
Exemple #2 Contenu du fichier users.txt
javier argonaut pe hiroshi sculptor jp robert slacker us luigi florist it