fpassthru

(PHP 3, PHP 4 , PHP 5)

fpassthru -- Affiche le reste du fichier

Description

int fpassthru ( resource handle )

fpassthru() lit tout le reste d'un fichier jusqu'à la fin et dirige le résultat vers la sortie standard.

Si une erreur survient, fpassthru() retourne FALSE. Sinon, fpassthru() retourne le nombre de caractères lus dans handle et passés à la sortie standard.

Le pointeur de fichier doit être valide et pointer sur un fichier ouvert avec succès par fopen() ou fsockopen().

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.

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.

Exemple 1. Utiliser fpassthru() avec un fichier binaire

<?php

// ouvre un fichier en mode binaire
$name = ".\public\dev\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;

?>

Voir aussi readfile(), fopen(), popen() et fsockopen().