Der Martin: Datei zurückgeben

Beitrag lesen

Hallo Peter,

Ich will mit einem Skript keine ausgabe zurückgeben aber eine Datei die dann also sozusagen zum download angeboten wird, ist das möglich mit php ?

das ist kein Problem. Denn ob PHP nun HTML-Code oder irgendwas anderes an den Browser sendet, ist vollkommen belanglos.

Reicht es irgendwie die Header zu modifizieren ?

Das ist die eine Sache: Die richtigen Header. Der wichtigste ist
 Content-Type: application/octet-stream
dann wird ein anständiger Browser schonmal nicht mehr versuchen, die Datei direkt anzuzeigen (der IE eventuell doch noch, denn er versucht gern, anhand der Nutzdaten den Datentyp zu erraten und "passend" zu verarbeiten).

Kann man den Namen der Datei dann frei wählen ?

Ja. Wenn man nichts weiter unternimmt, gibt es noch einen unschönen Effekt mit dem Namen, den der Browser zum Speichern vorschlägt - das ist nämlich einfach der Name des Scripts. Um einen vernünftigen Dateinamen zu übergeben, sendest du noch den Header
 Content-Disposition: attachment; filename=blubb.bla
So sollte es mit den meisten Browsern funktionieren. Jetzt müssen nur noch die Nutzdaten folgen - das erledigst du am besten mit der PHP-Funktion readfile().

Schönen Abend noch,
 Martin

PS: Du plenkst.

--
Auf jeden Menschen auf der ganzen Welt entfallen statistisch gesehen etwa 3000 Spinnen, wie Wissenschaftler jetzt festgestellt haben.
Wer will meine haben? Denn ich will sie bstimmt nicht.