Unterdrücken der automatischen Anzeige eines .txt files in einem Browser

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Unterdrücken der automatischen Anzeige eines .txt files in einem Browser

    Hallo,

    folgendes Problem. Ich erstelle dynamisch aus einer DB ein Textfile. Endung .txt (habs schon mit unmöglichen Änderungen wie .ssd .jfh etc probiert) und möchte, dass diese dann automatisch die downloadprozedur des Clients anspricht.

    Beim Internetexplorer funzt das. Aber bei netscape zeigt er mir das File an (netscape hat 230433300000 plugins scheinbar). Gibt es eine Möglichkeit in PHP zu sagen, dass das file Downgeloadet werden soll und nicht angezeigt ?

    Gruss
    Sascha

  • #2
    Wenn du vorher keinen Header rausschmeißt dürfte der Server die Datei als Content-Type: text/plain oder text/html rausschicken.

    Also:

    PHP-Code:
    header("Content-Type: application/octetstream"); 
    und wenn du willst kannst Du so dem Download auch noch 'nen Dateinamen verpassen:
    PHP-Code:
    header("Content-Disposition: attachment; filename=\"dateiname.txt\""); 
    Die Dateiendung (.txt, .wrks) sollte dem Browser nämlich egal sein ... sonst würde er 'ne .php-Datei ja auch nicht als .html anzeigen ... in dem Falle ist der Browser dumm und stellt dar was der Webserver im Content-Type angibt.
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      hmm ... tut´s bei mir nicht so richtig.
      Download ja, aber als Dateiname wird der Name des Skripts vorgeschlagen
      und die fertige Datei ist kein gültiges gif (IrfanView: can´t read file header -> Unknown file format)

      header ('Content-Type: ...')
      header ('Content-Disposition: ...')
      $fp = fopen('datei.gif', 'rb');
      die(fpassthru ($fp));

      ----

      hat sich erledigt, hatte im header den Dateinamen-String mit Komma verknüpft statt mit Punkt
      -> die ersten Zeichen im gif waren "wrong parameter count for header ..."
      Zuletzt geändert von Titus; 23.07.2002, 10:46.
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Kommentar

      Lädt...
      X