Ausgabe einer (PHP)Datei als download, MIME types?
Jan K.
- php
0 Texter mit x0 Jan K.
0 hotti
Hallo zusammen,
ich baue mir momentan einen PHP Dateibrowser zusammen und frage mich wie ich Dateien aus einem mit htaccess geschützen Verzeichniss einbinden kann.
Also mal angenommen die datei zickezacke.php liegt im mit htacces gechützten Verzeichnis streng_geheim: streng_geheim\zickezacke.php
Das "normale" einbinden der Datei per <a href="streng_geheim/zickezacke.php">download</a> bringt mir nichts da
a)dieses Verzeichniss mit htacces geschützt ist und die Abfrage der Logindaten erscheinen würde.
b)falls es sich um eine für den Webserver interpretierbare Datei handelt diese nicht als download ausgegeben wird, sondern interpretiert wird.
Ich habe schonmal mit der GDLIB gearbeitet um Bilder (mit einer PHP Datei)auszugeben, in welcher der Content-type dafür zuständig ist das das Bild ausgegeben wird:
header("Content-type: image/png");
imagepng($image);
imagedestroy ($image);
So ähnlich stelle ich mir das auch für Dateidownloads vor. Aber wie genau das funktioniert konnte ich bisher nicht rauskriegen. Kann mir jemand erklären wie ich eine PHP Datei (und jeden beliebig anderen Dateityp) als download einbinden kann?
Und am Rande erwähnt bin ich grade etwas verwirrt was der unterschied zwischen Content-type und MIME-type ist, kann mir das evtl. auch jemand kurz erläutern?
Gruß,
Jan
etwas weiter untern:
https://forum.selfhtml.org/?t=185920&m=1234446
"Content-Type: application/octetstream" wird so viel ich weiß immer gespeichert.
Dankeschön, das ist die Antwort auf meine Frage:
$filename="test.php";
header("Content-Type: application/octetstream");
header('Content-Disposition: attachment; filename="'.$filename.'"');
readfile($filename);
Gruß,
Jan
hi Jan,
So ähnlich stelle ich mir das auch für Dateidownloads vor. Aber wie genau das funktioniert konnte ich bisher nicht rauskriegen. Kann mir jemand erklären wie ich eine PHP Datei (und jeden beliebig anderen Dateityp) als download einbinden kann?
Freilich. Guck mal hier.
Hotte