fpassthru

(PHP 4, PHP 5, PHP 7, PHP 8)

fpassthruAffiche le reste du fichier

Description

fpassthru(resource $stream): int

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().

Liste de paramètres

stream

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()).

Valeurs de retour

Retourne le nombre de caractères lus depuis stream et passés à la sortie standard.

Exemples

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;

?>

Notes

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 b au mode d'accès utilisé dans fopen().

Il est recommandé d'utiliser l'option b lorsqu'on traite des fichiers binaires, même si le système ne le requiert pas, de façon à rendre les scripts portables.

Voir aussi

  • readfile() - Affiche un fichier
  • fopen() - Ouvre un fichier ou une URL
  • popen() - Crée un processus de pointeur de fichier
  • fsockopen() - Ouvre un socket de connexion Internet ou Unix