Wie starte ich automatisch einen Download in PHP?
Um einen Download in PHP automatisch zu starten, können Sie die Funktion header()
verwenden, um dem Browser die entsprechenden Header zu senden, die anzeigen, dass ein Dateidownload beginnen soll. Hier ist ein Beispiel dafür, wie dies für eine Datei mit dem Namen "example.txt" gemacht wird:
<?php
header('Content-Disposition: attachment; filename="example.txt"');
header('Content-Type: application/octet-stream');
header('Content-Length: ' . filesize('example.txt'));
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');
readfile('example.txt');
In diesem Beispiel wird header()
verwendet, um dem Browser mehrere unterschiedliche Header zu senden. Der erste Header, Content-Disposition
, gibt an, dass die Datei mit dem angegebenen Dateinamen heruntergeladen werden soll. Der zweite Header, Content-Type
, gibt an, dass die Datei eine binäre Datei ist. Der dritte Header, Content-Length
, gibt die Größe der Datei an. Die restlichen Header legen fest, dass die Datei heruntergeladen wird.
Es ist wichtig zu beachten, dass Header vor jeder anderen Ausgabe an den Browser gesendet werden müssen, also stellen Sie sicher, dass diese header()-Funktionen vor jeglichen echo oder print-Anweisungen aufgerufen werden.