Aller au contenu

fpassthru()

Qu'est-ce que la fonction fpassthru() ?

La fonction fpassthru() est une fonction PHP intégrée qui lit le contenu d'un fichier à partir de la position actuelle du pointeur de fichier jusqu'à la fin du fichier et les écrit directement dans le flux de sortie standard. Cette fonction est utilisée pour lire de grands fichiers sans les charger en mémoire.

Elle retourne le nombre d'octets écrits à partir du pointeur de fichier donné vers la sortie en cas de succès, ou false en cas d'échec.

Voici la syntaxe de base de la fonction fpassthru() :

Syntaxe PHP de fpassthru()

php
fpassthru(file);

file est le pointeur de fichier à partir duquel lire.

Comment utiliser la fonction fpassthru() ?

L'utilisation de la fonction fpassthru() est simple. Voici les étapes à suivre :

  1. Ouvrez le fichier avec fopen() et assurez-vous que le pointeur de fichier se trouve à la position de départ souhaitée.
  2. Appelez fpassthru() avec le pointeur de fichier. Il lira jusqu'à la fin du fichier (EOF) et écrira dans le flux de sortie.
  3. Vérifiez la valeur de retour pour confirmer le succès, puis fermez le fichier avec fclose().

Voici un extrait de code exemple qui montre comment utiliser la fonction fpassthru() :

Comment utiliser la fonction fpassthru() ?

php
<?php

$filename = 'largefile.txt';
$file = fopen($filename, 'r');
if ($file) {
   if (fpassthru($file) === false) {
      echo "Error reading file!";
   }
   fclose($file);
} else {
   echo "Unable to open file!";
}

Dans cet exemple, nous ouvrons le fichier largefile.txt en utilisant la fonction fopen() en mode lecture seule. Nous vérifions si le fichier a été ouvert avec succès à l'aide d'une instruction if, et si c'est le cas, nous affichons le contenu du fichier dans le flux de sortie standard à l'aide de la fonction fpassthru(). Nous vérifions la valeur de retour pour gérer les erreurs de lecture potentielles avant de le fermer à l'aide de la fonction fclose().

Note sur la mise en mémoire tampon de sortie : Si la mise en mémoire tampon de sortie PHP est active (par exemple via ob_start()), fpassthru() écrira directement dans le tampon de sortie actuel au lieu d'envoyer les données immédiatement au navigateur.

Conclusion

La fonction fpassthru() est un outil utile en PHP pour lire de grands fichiers sans les charger en mémoire. En suivant les étapes décrites dans ce guide, vous pouvez facilement utiliser la fonction fpassthru() dans vos projets PHP pour lire le contenu des fichiers à partir de la position actuelle du pointeur et les afficher dans le flux de sortie standard.

Pratique

Quel est l'objectif de la fonction fpassthru() en PHP ?

Trouvez-vous cela utile?

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