Convertit un texte logique hébreux en texte visuel, avec retours la ligne
La fonction fprintf() écrit une chaîne formatée dans un flux de sortie
spécifié (par exemple: fichier ou base de données).
PHP Version: 5.0
fprintf — Écrit une chaîne formatée dans un flux
La fonction fprintf() écrit une chaîne formatée dans un flux de sortie spécifié (par exemple: fichier ou base de données).
Les paramètres arg1, arg2 et arg++ seront inséré avec le signe cent (%) dans la chaîne
La fonction de fprintf () renvoie la longueur de la chaîne écrite.
fprintf(stream,format,arg1,arg2,arg++)
stream
Requis. Spécifie où écrire/produire la chaîne. C’est un pointeur de système de fichiers de type resource qui est habituellement créé en utilisant la fonction fopen().
format
Requis. La chaîne de format est composée de zéro, une ou plusieurs directives : les caractères ordinaires (à l'exception de %) qui sont copiés directement dans le résultat, et des spécifications de conversion, qui exploitent chacune un des arguments passés après la chaîne de format. Ces formats s'appliquent à sprintf() et printf().
Chaque spécification de conversion est constituée d'un signe de pourcentage (%), suivi d'un ou plusieurs des éléments suivants, dans cet ordre :
La chaîne de format supporte le numérotage et l'échange d'arguments. Par exemple :
Note : Si des valeurs additionnelles multiples de format sont employées, elles doivent être dans le même ordre comme ci-dessus:
Exemple #1 Échange d'arguments
<?php $format = 'Il y a %d singes dans le %s'; printf($format, $num, $location); ?>
Ainsi, cet exemple peut afficher : "Il y a 5 singes dans le bananier". Mais imaginez que la chaîne de format soit créée dans un script séparé, comme une bibliothèque : cela arrive lorsqu'il faut internationaliser une application. Suivant la langue, il faudra peut-être écrire :
Exemple #2 Échange d'arguments (2)<?php $format = 'Le %s a %d singes'; printf($format, $num, $location); ?>
Ici, nous voyons bien le problème. L'ordre des arguments a été changé, et ne correspond plus à l'ordre des arguments dans le script PHP. Nous souhaitons laisser le code PHP intact, mais simplement indiquer dans la chaîne de formatage l'ordre dans lequel les arguments doivent être utilisés. La chaîne de format peut être réécrite ainsi :
Exemple #3 Échange d'arguments (3)<?php $format = 'Le %2$s a %1$d singes'; printf($format, $num, $location); ?>
Un des avantages est que vous pouvez désormais exploiter plusieurs fois les arguments sans les répéter. Ainsi :
Exemple #4 Échange d'arguments (4)<?php $format = 'Le %2$s a %1$d singes.C\'est un beau %2$s avec %1$d singes.'; printf($format, $num, $location); ?>
arg1
Requis. L'argument à insérer au premier %-sign dans la chaîne de format
arg2
Facultatif. L'argument à insérer au deuxième %-sign dans la chaîne de format
arg++
Facultatif. L'argument à insérer au tiers, quatrième, etc. %-sign dans la chaîne de format
Note : S'il y a plus de % signe que des arguments, vous devez employer des textes d'attente. Un texte d'attente est inséré après les % de signe, et comprend le nombre d'argument et « \ $ ». Voir l'exemple trois.
astuce : Fonctions relatives : printf (), sprintf (), vfprintf (), vprintf (), et vsprintf ().
Exemple : Copier le code
<?php
$chaine = "bonjour";
$nombre = 123;
$file = fopen("test.txt","w");
echo fprintf($file,"%s monde. Jour numero %u",$chaine,$nombre);
?>
Le résultat du code ci-dessus sera :
30
Allez dans le répertoire où se trouve le fichier php qui contient le code ci-dessus vous trouverez un fichier test.txt qui a été créé .
Le texte suivant sera écrit dans le fichier « test.txt » :
bonjour monde. Jour numero 123
Exemple : Copier le code
<?php
$nombre = 123;
$file = fopen("test.txt","w");
fprintf($file,"%f",$nombre);
?>
Le texte suivant sera écrit dans le fichier « test.txt » :
123.000000
Utilisation des textes d'attente :
Exemple : Copier le code
<?php
$nombre = 123;
$file = fopen("test.txt","w");
fprintf($file,"Avec 2 décimales: %1\$.2f
\n Sans décimales: %1\$u",$nombre);
?>
Le texte suivant sera écrit dans le fichier « test.txt » :
Avec 2 décimales : 123.00
Sans décimales : 123
fprintf(): Entiers avec zéros initiaux
Écrire la date formatée ISO dans le fichier date.txt:
Exemple : Copier le code
<?php if (!($fp = fopen('date.txt', 'w'))) { return; } $annee=2010; $mois=1; $jour=2; fprintf($fp, "%04d-%02d-%02d", $annee, $mois, $jour); // écrira la date formatée ISO dans le fichier date.txt ?>
Le texte suivant sera écrit dans le fichier « date.txt » :
2010-01-02
fprintf():Format monétaire
Écriture de 6 octets dans le fichier currency.txt
Exemple : Copier le code
<?php if (!($fp = fopen('currency.txt', 'w'))) { return; } $money1 = 68.75; $money2 = 54.35; $money = $money1 + $money2; // echo $money affichera "123.1"; $len = fprintf($fp, '%01.2f', $money); // écrira "123.10" dans le fichier currency.txt echo "écriture de $len octets dans le fichier currency.txt"; // utilisez la valeur retournée par fprintf pour déterminer le nombre d'octets écrits ?>Le texte suivant sera écrit dans le fichier « currency.txt» :
123.10