HTML Noob: <a target=_blank> für Textfile-Downloading?

Hi all,
Ich habe eine Seite, welche Files runterladen soll. Bei allen ausser Textfiles funktioniert es, mit target=_blank; Allerdings nicht mit textfiles...

Wie geht das? Gibts da etwas anderes als _blank, welches jedes File runterladen lässt?!

Danke & Gruss

  1. Hi!

    Ich habe eine Seite, welche Files runterladen soll. Bei allen ausser Textfiles funktioniert es, mit target=_blank; Allerdings nicht mit textfiles...

    Soll deine Seite Dateien herunterladen oder soll ein Benutzer von deiner Seite Dateien herunterladen können?
    Und was "funktioniert"?
    Wenn du Dateien verlinkst, die zum Download bereit stehen, brauchst du hierzu nicht mithilfe von target="_blank" ein neues Fenster öffnen...

    Wie geht das? Gibts da etwas anderes als _blank, welches jedes File runterladen lässt?!

    Bin mir nicht sicher, _was_ du meinst.
    Ich schätze aber, du willst, dass '.txt'-Dateien, auf welche du verlinkst vom Browser in ein bestimmtes Verzeichnis heruntergeladen werden (via Browser-"Download"-Fenster). Dann solltest du diese Dateien zippen.

    Viele Grüße
    Thorsten

    1. Hallo,

      ich denke du möchtest das sich ein Download-Dialog-Fenster öffnet!? Das wäre mit headern möglich.Du erstellst eine PHP-Datei mit den Namen z.B. "download.php". In diese schreibst du dann folgenden Code:

      <?
      $datei = "pfadZumOrdnerDerTextdateien/" . $_GET['datei'] . ".txt";
      header("Content-type: text/plain");
      header("Content-Disposition: attachment; filename=".$datei."");
      header("Content-Length: ".filesize(getcwd().$datei.""));
      readfile(getcwd().$datei."");
      ?>

      Dann kannst du diese Datei verlinken in der Form von "download.php?datei=test".
      In diesen Fall würde die Datei "test.txt" zum Download angeboten werden. Den Pfad "pfadZumOrdnerDerTextdateien/" mußt du natürlich anpassen, von der Datei "download.php" zum Ordner mit deinen Textdateien.

      Gruß Andy

      1. Halt, ich war etwas voreilig! So sollte es gehen:

        <?
        $datei = $_GET['datei'] . ".txt";
        header("Content-type: text/plain");
        header("Content-Disposition: attachment; filename=".$datei."");
        header("Content-Length: ".filesize($datei));
        readfile($datei);
        clearstatcache();
        ?>

      2. Hi,

        In diese schreibst du dann folgenden Code:

        <?

        abgesehen davon, dass der Fragesteller das Themengebiet HTML gewählt hat, sollte man bei PHP nicht short_open_tags voraussetzen.

        header("Content-type: text/plain");

        In diesen Fall würde die Datei "test.txt" zum Download angeboten werden.

        von welchen Browser denn? Mir ist keiner bekannt, der text/plain nicht in der Grundeinstellung selbst anzeigen würde.

        freundliche Grüße
        Ingo

        1. von welchen Browser denn? Mir ist keiner bekannt, der text/plain nicht in der Grundeinstellung selbst anzeigen würde.

          Also bei mir wird es zum download angeboten. Oder reden wir aneinander vorbei?

          1. Hi,

            Also bei mir wird es zum download angeboten. Oder reden wir aneinander vorbei?

            stimmt - offenbar reicht bereits
              content-disposition: attachment; filename=test.txt
            dazu aus.

            freundliche Grüße
            Ingo

      3. Hallo Andy,

        ich denke du möchtest das sich ein Download-Dialog-Fenster öffnet!?

        ich habe dich schon einmal darauf hingewiesen, dass du deine Antwort bitte nicht wahllos irgendwo im Thread posten sollst, sondern als Antwort auf den Beitrag, auf den du dich auch beziehst. Gibt ja sonst ein Durcheinander wie in einem billigen 08/15-Board! ;-)

        Du meintest hier offensichtlich den Thread-Initiator "HTML Noob", wie man aus dem Inhalt erkennen kann, antwortest aber Thorsten. Das verwirrt. Achte bitte in Zukunft mal darauf - wozu haben wir denn so eine schön übersichtliche Darstellung!

        So long,
         Martin

        --
        F: Was ist ekliger als ein angebissener Apfel mit einem Wurm drin?
        A: Ein angebissener Apfel mit einem halben Wurm.
  2. Hallo HTML Noob,

    Wie geht das? Gibts da etwas anderes als _blank, welches jedes File runterladen lässt?!

    Wie schon gesgat ist _blank irrelevant. Wichtig ist was du für einen Content-Type im HTTP-Header mitschickst, denn anhand diesem entscheidet der Client (Browser), was mit der angeforderten Resource passieren soll. Sprich: Soll sie im Browser angezeigt, mit Programm xy geöffnet oder heruntergeladen werden.
    Wenn du also willst, dass eine Textdatei heruntergeladen und nicht wie ich es gewohnt bin und gerne habe im Browser angezeigt wird, dann schicke den entsprechenden Content-Type mit. Wie genau das geht hängt von deinem Server ab, befrage also die zugehörige Doku.

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates