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()
fpassthru(file);Où 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 :
- Ouvrez le fichier avec
fopen()et assurez-vous que le pointeur de fichier se trouve à la position de départ souhaitée. - Appelez
fpassthru()avec le pointeur de fichier. Il lira jusqu'à la fin du fichier (EOF) et écrira dans le flux de sortie. - 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
$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 ?