Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

hi,

ich habe mir ein Download-Script gebastelt, zum teil aus Inet Quellen, zum Teil selber.

Anfangs hatte ich das Problem das er alle Dateien als zwangs-Download behandelt...

mit

$header="filename=".$filename.";";

anstatt

$header="Content-Disposition: attachment; filename=".$filename.";";

lädt er zumindest Bilder jetzt wieder in einem browserfenster, wie es seinsollte...aber einfache txt Dateien werden immernoch zwangsgeladen...

// Mime Type
switch( $file_extension )
{
case "txt": $ctype="application/txt"; break;
case "pdf": $ctype="application/pdf"; break;
case "zip": $ctype="application/zip"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;

default: $ctype="application/force-download";
}

// Write Header
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");

// Header: Mime Type
header("Content-Type: ".$ctype);

// "Content-Disposition: attachment; filename=".$filename;
header("filename=".$filename);
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$len);

// Content-Output
@readfile($file);[/PHP]

ich wollte eigentlich auf eine Weiche verzichten die dann z.B. echo $content;

oder so macht...k.A. wie es bei weiteren Dateitypen aussieht...

ich kenne die sicherheitsbedenken bei solchen Scripts :) aber das habe ich abgefangen...hab' jetzt aber nur den relevanten Teil des Scripts gepostet

Geschrieben

k, danke.

Hat funktioniert.

Weißt du wo das festgelegt ist ?

auf www.php.net habe ich nur die Spezifikation für http-insgesamt gefunden....etwas umfangreiche lektüre für sowas

Geschrieben

Weißt du wo das festgelegt ist ?

Das hat mit PHP nichts zu tun. Du solltest eher bei HTTP-Spezifikationen suchen, da "Inline" (frei übersetzt: drinnen) und "attachement" (Anhang) auch andersow gibt. E-Mail ist ein gutes Beispiel. Du kannst da Bilder nämlich auch Inline (also der Empfänger sieht sie, wenn er die Nachricht liest) oder als Attachement (das Bild ist nur als Anhang dabei) verschicken.

EDIT:

Mit "header" änderst/erweiterst du (wie es der Name schon sagt) nur den HTTP-Header, der von Server abgeschickt wird.

EDIT2:

Content-Disposition is an extension to the MIME protocol that describes the content of the message and provides instructions about how the content is to be displayed.

http://www.ietf.org/rfc/rfc2183.txt

http://www.ietf.org/rfc/rfc1806.txt

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...