1. Das Problem:
Sie versuchen, Benutzern das Herunterladen von Dateien von Ihrem Server zu ermöglichen, aber die Datei löst kein Dialogfeld „Speichern unter“ aus.
2. Die Ursache:
Falsche Inhaltstypdeklaration im Header.
3. Die Lösung:
Stellen Sie sicher, dass der Inhaltstyp-Header für Dateidownloads auf application/octet-stream eingestellt ist:
header('Content-Type: application/octet-stream');
4. Zusätzliche Tipps:
5. Beispielcode:
$quoted = sprintf('"%s"', addcslashes(basename($file), '"\')); $size = filesize($file); header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=' . $quoted); header('Content-Transfer-Encoding: binary'); header('Connection: Keep-Alive'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . $size); readfile($file);
Das obige ist der detaillierte Inhalt vonWie erzwinge ich Dateidownloads mit PHP mithilfe von „header()'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!