readfile

(PHP 4, PHP 5, PHP 7)

readfileGibt eine Datei aus

Beschreibung

readfile ( string $filename [, bool $use_include_path = FALSE [, resource $context ]] ) : int

Liest den Inhalt einer Datei und schreibt ihn in den Ausgabepuffer.

Parameter-Liste

filename

Der Name der Datei, die gelesen werden soll.

use_include_path

Sie können optional den zweiten Parameter benutzen und diesen auf TRUE setzen, wenn Sie auch im include_path nach der Datei suchen möchten.

context

Eine Stream-Kontext resource.

Rückgabewerte

Gibt bei Erfolg die Anzahl der gelesenen Bytes einer Datei zurück. Im Fehlerfall wird FALSE zurückgegeben.

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Beispiele

Beispiel #1 Einen Download unter Verwendung von readfile() erzwingen

<?php
$file 
'monkey.gif';

if (
file_exists($file)) {
    
header('Content-Description: File Transfer');
    
header('Content-Type: application/octet-stream');
    
header('Content-Disposition: attachment; filename="'.basename($file).'"');
    
header('Expires: 0');
    
header('Cache-Control: must-revalidate');
    
header('Pragma: public');
    
header('Content-Length: ' filesize($file));
    
readfile($file);
    exit;
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Öffnen/Speichern Dialog

Anmerkungen

Hinweis:

readfile() weist für sich allein keine Speicherprobleme auf, selbst wenn große Dateien gesendet werden. Wenn Sie auf einen out-of-memory Fehler treffen, stellen Sie mit ob_get_level() sicher, dass die Ausgabepufferung deaktiviert ist.

Tipp

Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.

Hinweis: Die Kontext-Unterstützung gibt es seit PHP 5.0.0. Eine Beschreibung von Kontexten finden Sie unter Streams.

Siehe auch