(PHP 4, PHP 5, PHP 7)
fpassthru — Affiche le reste du fichier
$handle
)Lit tout le reste d'un fichier jusqu'à la fin et dirige le résultat vers la sortie standard.
Vous devez appeler la fonction rewind() pour réinitialiser le pointeur de fichier au début si vous avez déjà écrit des données dans le fichier.
Si vous voulez uniquement copier le contenu d'un fichier dans le buffer de sortie, sans le modifier auparavant ou placer le pointeur à un endroit particulier, vous devriez utiliser la fonction readfile(), ce qui vous évite d'appeler la fonction fopen() call.
handle
Le 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()).
Si une erreur survient, fpassthru() retourne FALSE
.
Sinon, fpassthru() retourne le nombre de caractères
lus dans handle
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:
Lorsque vous utilisez la fonction fpassthru() sur un fichier binaire sous Windows, assurez-vous d'avoir ouvert le fichier en mode binaire en ajoutant la lettre b au mode d'accès utilisé dans fopen().
Vous êtes encouragé à utiliser l'option b lorsque vous traitez des fichiers binaires, même si votre système ne le requiert pas, de façon à rendre vos scripts portables.