(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)
fscanf — Analyse un fichier en fonction d'un format
Description
fscanf(resource
$stream, string
$format, mixed
&...$vars): array|int|false|null
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.
Liste de paramètres
-
stream
-
Un pointeur de système de fichiers de type ressource
qui est habituellement créé en utilisant la fonction fopen().
-
format
-
Le format interprété pour string décrit
dans la documentation de la sprintf() avec les différences suivantes :
-
La fonction ne tient pas compte du contexte local.
-
F, g, G et
b ne sont pas supportés.
-
D représente un nombre décimal.
-
i représente un nombre entier avec détection de base.
-
n représente le nombre de caractères traités à ce stade.
-
s arrête la lecture à chaque caractère d'espacement.
-
* au lieu de argnum$ supprime
l'affectation de cette spécification de conversion.
-
vars
-
Les valeurs optionnelles à assigner.
Valeurs de retour
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.
If there are more substrings expected in the format
than there are available within string,
null will be returned. On other errors, false will be returned.
Exemples
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
Voir aussi
- fread() - Lecture du fichier en mode binaire
- fgets() - Récupère la ligne courante à partir de l'emplacement du pointeur sur fichier
- fgetss() - Renvoie la ligne courante du fichier et élimine les balises HTML
- sscanf() - Analyse une chaîne à l'aide d'un format
- printf() - Affiche une chaîne de caractères formatée
- sprintf() - Retourne une chaîne formatée