fpassthru

(PHP 4, PHP 5, PHP 7)

fpassthru Gibt alle verbleibenden Daten eines Dateizeigers direkt aus.

Beschreibung

fpassthru ( resource $handle ) : int

Die Funktion liest alle Daten von der aktuellen Position des Dateizeigers bis EOF aus und schreibt die Daten in den Ausgabepuffer.

Eventuell müssen Sie rewind() aufrufen, um den Dateizeiger auf den Beginn der Datei zurückzusetzen, wenn Sie bereits Daten in die Datei geschrieben haben.

Wenn Sie den Inhalt einer Datei nur in den Ausgabepuffer schreiben wollen ohne diese ändern bzw. an eine bestimmte Stelle gehen wollen, sollten Sie besser readfile() benutzen, bei der Sie sich den Aufruf von fopen() ersparen.

Parameter-Liste

handle

Der Zeiger auf eine Datei muss gültig sein und auf eine Datei verweisen, die vorher erfolgreich mit fopen() oder fsockopen() geöffnet (und nicht bereits von fclose() geschlossen) wurde.

Rückgabewerte

Wenn ein Fehler auftritt, gibt fpassthru() FALSE zurück. Andernfalls gibt fpassthru() die Anzahl der von handle gelesenen und zur Ausgabe weitergeleiteten Zeichen zurück.

Beispiele

Beispiel #1 Nutzung von fpassthru() mit binären Dateien

<?php

// Öffne Datei im binären Modus
$name './img/ok.png';
$fp fopen($name'rb');

// Schicke passende Header Einträge
header("Content-Type: image/png");
header("Content-Length: " filesize($name));

// Gib Bild aus und stoppe Skript
fpassthru($fp);
exit;

?>

Anmerkungen

Hinweis:

Wenn Sie fpassthru() auf eine binäre Datei unter Windows anwenden, sollten Sie sicherstellen, dass die Datei im Binärmodus geöffnet wurde, indem Sie ein b an den Mode-Parameter von fopen() anhängen.

Auch wenn es Ihr System nicht verlangt, sollten Sie den b Flag bei Binärdateien verwenden, um die Portabilität Ihrer Skripte zu erhöhen.

Siehe auch

  • readfile() - Gibt eine Datei aus
  • fopen() - Öffnet eine Datei oder URL
  • popen() - Öffnet einen Prozesszeiger
  • fsockopen() - Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her