Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

fpassthru

Dateisystem-Funktionen

    Befehl:
int fpassthru ( resource $handle )


    Parameter-Liste:
NameBeschreibung
handleDer 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.

    Beschreibung:
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 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.


    Aktiv in Version:
(PHP 4, PHP 5, PHP 7)

    Hinweis:
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:
Gibt eine Datei aus
 
•  fopen()
Öffnet eine Datei oder URL
 
•  popen()
Öffnet einen Prozesszeiger
 
Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her
 

fpassthru() - Beispiel: Nutzung von fpassthru() mit binären Dateien


Eingabe:
<?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;

?>

Dateisystem-Funktionen