fscanf

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

fscanfAnalyse un fichier en fonction d'un format

Description

fscanf(resource$stream, string$format, mixed&...$vars): array|int|false|null

La fonction fscanf() est similaire à la fonction sscanf(), sauf qu'elle prend un fichier en entrée, représentée par la ressource stream et interprète l'entrée en fonction du format format spécifié.

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
To Top