AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Dateien mit Content-type & Dateiname
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Dateien mit Content-type & Dateiname

Ein Thema von Chewie · begonnen am 14. Okt 2004 · letzter Beitrag vom 16. Okt 2004
 
tommie-lie
(Gast)

n/a Beiträge
 
#9

Re: [PHP] Dateien mit Content-type & Dateiname

  Alt 14. Okt 2004, 19:02
Zitat von Chewie:
Irgendwie versteh ich deinen Code nicht, tommie-lie. Du rufst strpos mit nur einem Parameter auf
Oh shit
Code:
!strpos($HTTP_SERVER_VARS["HTTP_USER_AGENT"], "MSIE")
Zitat:
Und das Verhalten ist im IE und im Firefox ähnlich: Im Firefox will er die Datei mit dem Firefox öffnen, was eine ANSI-Darstellung der Binärdaten nach sich zieht. Im IE öffnet er immerhin den Adobe Reader, dieser kann aber nicht das Dokument öffnen.

Mit dem inline passiert folgendes: Im IE lädt er zwar den Reader, zeigt ihn aber nicht an (eine komplett leere Seite) und im Firefox zeigt er wieder die Textdarstellung der Binärdaten an.
Komisches Verhalten bei den Parametern, oder ich übersehe hier ständig was. Folgender Code funktioniert nach eigener Erfahrung mit Firefox/Mozilla und IE (damals noch unter Win98, welcher IE war das? ):
Code:
// get mime type of downloads
$mime = $mime_type[strrchr($filename, ".")];

header("Content-Type: {$mime}");
// This rather complex structure defines the inline/attachment character of the
// file: if it's an image or a text, show it directly (inline), otherwise send it as download
header("Content-Disposition: " . (!strpos($HTTP_SERVER_VARS["HTTP_USER_AGENT"],"MSIE 5.5") ?
    ((strstr($mime, "image") or strstr($mime, "text")) ? "inline;" : "attachment;") : "") .
     "filename=\"".$filename."\"");
header("Content-Transfer-Encoding: binary");
// send content length for progress bars
header("Content-Length: ".filesize($path . $filename));

// send file content to browser
readfile("/Internet/Apache2/htdocs/files/" . $path . $filename);
Bilder und Text wurden da noch im Browser angezeigt, weil ich es für sinnvoll hielt, PDFs müssten aber vollkommen korrekt heruntergeladen werden, mit passendem Dateinamen.
Leider kann ich das aber jetzt mit neuerem IE und aktuellem Firefox nicht mehr ausprobieren.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz