readfile
(PHP 4, PHP 5, PHP 7, PHP 8)
readfile — Gibt eine Datei aus
Beschreibung
$filename
, bool $use_include_path
= false
, ?resource $context
= null
): int|falseLiest 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-Ressource.
Rückgabewerte
Gibt bei Erfolg die Anzahl der gelesenen Bytes einer Datei zurück.
Bei einem Fehler 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:
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.
Wenn fopen wrappers aktiviert ist, kann mit dieser Funktion eine URL als Dateiname verwendet werden. Mehr Details dazu, wie der Dateiname angeben werden muss, sind bei fopen() zu finden. 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 sind unter Unterstützte Protokolle und Wrapper zu finden.
Siehe auch
- fpassthru() - Gibt alle verbleibenden Daten eines Dateizeigers aus
- file() - Liest eine komplette Datei in ein Array
- fopen() - Öffnet eine Datei oder URL
- include - include
- require - require
- virtual() - Führt eine Apache-Unteranfrage durch
- file_get_contents() - Liest die gesamte Datei in einen String
- Unterstützte Protokolle und Wrapper