Aller au contenu

fflush()

Introduction à la fonction PHP fflush()

La fonction fflush() de PHP est utilisée pour vider le tampon de sortie d'un pointeur de fichier. Elle force l'écriture immédiate des données mises en mémoire tampon vers le flux sous-jacent. Cela est particulièrement utile pour la journalisation, le traitement des données en temps réel ou pour garantir la persistance des données avant la fin d'un script.

La fonction fflush() accepte un paramètre : le pointeur de fichier que vous souhaitez vider. Dans cet article, nous examinerons la syntaxe et les paramètres de la fonction fflush(), ainsi que des exemples pratiques de son utilisation.

Syntaxe

La syntaxe de la fonction fflush() est la suivante :

La syntaxe PHP de fflush()

php
bool fflush ( resource $stream )
  • stream : le pointeur de fichier à vider

Paramètres

La fonction fflush() prend un paramètre obligatoire :

  1. $stream : Le pointeur de fichier que vous souhaitez vider. Ce paramètre doit être une ressource créée à l'aide de la fonction fopen() ou d'une fonction similaire de création de flux.

Valeur de retour

Retourne true en cas de succès ou false en cas d'échec. Si le flux n'est pas ouvert, n'est pas accessible en écriture ou si l'opération échoue, la fonction retourne false et peut émettre un avertissement.

Exemples

Voici quelques exemples d'utilisation de la fonction fflush() :

Exemple 1 : Vider un pointeur de fichier

L'exemple suivant ouvre un fichier, écrit des données et vide immédiatement le tampon pour garantir que les données sont écrites sur le disque :

Vider un pointeur de fichier en PHP

php
<?php

$fileHandle = fopen('example.txt', 'w');
fwrite($fileHandle, 'Hello, World!');
fflush($fileHandle);
fclose($fileHandle);

Exemple 2 : Vider plusieurs pointeurs de fichier

L'exemple suivant montre comment vider plusieurs descripteurs de fichier ouverts :

Vider plusieurs pointeurs de fichier en PHP

php
<?php

$fileHandle1 = fopen('log1.txt', 'a');
$fileHandle2 = fopen('log2.txt', 'a');

fwrite($fileHandle1, 'Data for log 1');
fwrite($fileHandle2, 'Data for log 2');

fflush($fileHandle1);
fflush($fileHandle2);

fclose($fileHandle1);
fclose($fileHandle2);

Note sur la mise en mémoire tampon de sortie

Ne confondez pas fflush() avec les fonctions de mise en mémoire tampon de sortie de PHP comme ob_flush(). fflush() agit sur les flux de fichiers (par exemple, fichiers, sockets, tuyaux), tandis que ob_flush() vide le tampon de sortie interne de PHP vers le serveur web ou le client.

Conclusion

En conclusion, la fonction fflush() est une fonction PHP utile qui garantit que les données mises en mémoire tampon sont immédiatement écrites dans un flux de fichier. Elle est essentielle pour les applications nécessitant une persistance des données en temps réel, comme les systèmes de journalisation ou les scripts de traitement de données.

En utilisant les exemples fournis dans cet article, vous devriez maintenant être capable d'utiliser la fonction fflush() dans votre code PHP en toute simplicité. Si vous avez des questions ou des préoccupations concernant l'utilisation de la fonction fflush() en PHP, n'hésitez pas à nous contacter. Nous serons ravis de vous aider.

Pratique

Quelle est la bonne utilisation de la fonction fflush() en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.