(PHP 4, PHP 5, PHP 7, PHP 8)
fpassthru — Affiche le reste du fichier
Lit tout le reste d'un fichier jusqu'à la fin et dirige le résultat vers la sortie standard.
Il faut appeler la fonction rewind() pour réinitialiser le pointeur de fichier au début si l'on a déjà écrit des données dans le fichier.
Pour uniquement copier le contenu d'un fichier dans le buffer de sortie, sans le modifier auparavant ou placer le pointeur à un endroit particulier, il est recommandé d'utiliser la fonction readfile(), ce qui évite d'appeler la fonction fopen().
streamLe pointeur de fichier doit être valide et pointer sur un fichier ouvert avec succès par fopen() ou fsockopen() (et pas encore fermé par fclose()).
Retourne le nombre de caractères lus depuis stream
et passés à la sortie standard.
Exemple #1 Utilisation de fpassthru() avec un fichier binaire
<?php
// ouvre un fichier en mode binaire
$name = './img/ok.png';
$fp = fopen($name, 'rb');
// envoie les bons en-têtes
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));
// envoie le contenu du fichier, puis stoppe le script
fpassthru($fp);
exit;
?>Note:
Lors de l'utilisation de la fonction fpassthru() sur un fichier binaire sous Windows, il faut s'assurer d'avoir ouvert le fichier en mode binaire en ajoutant la lettre
bau mode d'accès utilisé dans fopen().Il est recommandé d'utiliser l'option
blorsqu'on traite des fichiers binaires, même si le système ne le requiert pas, de façon à rendre les scripts portables.