Heim  >  Artikel  >  Backend-Entwicklung  >  Wie sende ich Dateien von einem PHP-Server an Benutzer?

Wie sende ich Dateien von einem PHP-Server an Benutzer?

Linda Hamilton
Linda HamiltonOriginal
2024-11-25 08:13:48197Durchsuche

How to Send Files to Users from a PHP Server?

Datei an den Benutzer senden

Wenn ein Benutzer mit einem PHP-Skript interagiert, kann es vorkommen, dass Sie eine Datei übertragen müssen. B. ein PDF, an den Browser des Kunden. Um dies zu erreichen, hängt der geeignete Ansatz vom Speicherort der Datei ab.

Serverseitige Datei

Angenommen, die Datei befindet sich auf dem Server, ist die bevorzugte Methode um die Funktion readfile() zu nutzen. Allerdings reicht die bloße Ausführung von readfile($file) nicht aus. Das Skript muss entsprechende Header enthalten, damit der Client die Datei erfolgreich empfangen kann.

Beziehen Sie sich auf das folgende Beispiel aus dem offiziellen PHP-Handbuch:

<?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('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
?>

Das obige ist der detaillierte Inhalt vonWie sende ich Dateien von einem PHP-Server an Benutzer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn