tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
3435
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    FRitter FRitter ist offline Mitglied Gold
    Registriert seit
    Jul 2004
    Beiträge
    116
    (Thema war zuvor in HTML-Bereich: http://www.tutorials.de/tutorials188749.html)

    Hallo alle zusammen,

    wie im Titel dieses Beitrags schon ersichtlich, muss ich es irgendwie schaffen, dass ich auf PDF/Zip-Dateien verlinke und der User mit einem einfachen Klick (links) auf einen Button/eine Grafik die Zieldatei herunterlädt - und diese nicht wie bei PDF sofort im Browser öffnet oder er selbst wählen muss "Ziel speichern unter...".

    Dabei muss alles natürlich UNabhängig von den jeweiligen Client-Einstellungen sein (Plugin's zulassen / verweigern z.B: im IE).

    Geht so etwas ? Was meint ihr ?
     

  2. #2
    FRitter FRitter ist offline Mitglied Gold
    Registriert seit
    Jul 2004
    Beiträge
    116
    Nicht dass ihr mich falsch versteht - der Client-Browser soll keinesfalls irgendwie im Hintergrund etwas herunterladen und dem User etwas "vorgaukeln"...der Browser soll nur dazu gebracht werden, den Link nicht anzuzeigen/zu öffnen, sondern den Download-Hinweis anzuzeigen. Dann kann der User natürlich immer noch auswählen, ob der Download gestartet werden soll oder auch nicht. Es soll dem User der Rechtsklick erspart werden, da er z.B. PDF-Dateien über einen Button namens "Download" anklickt - dann erwartet der User auch, dass die PDF-Datei heruntergeladen wird... ok?
     

  3. #3
    Avatar von Timbonet
    Timbonet Timbonet ist offline Mitglied Brilliant
    Registriert seit
    Jun 2003
    Ort
    Griesheim (Hessen)
    Beiträge
    800
    Das kannst du mittels header() und den entsprechenden HTTP-Anweisungen in PHP lösen.
     

  4. #4
    FRitter FRitter ist offline Mitglied Gold
    Registriert seit
    Jul 2004
    Beiträge
    116
    Hallo und danke vor allem für den letzten Tipp!

    Ich habe es mit folgendem Code gelöst (fast):

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
     
    <?php
     
    header("Content-type: application/pdf");
    header("Content-Disposition: attachment; filename=Rechnung_" . $name . "_" . $date . ".pdf");
    readfile('$filepath');
     
    echo "<script type=\"text/javascript\">window.self.close();</script>";
     
    ?>

    Dabei habe ich noch das wohl kleine Problem, dass ich diese PHP-Datei mittels neuem Fenster (JavaScript) aufrufe und das Window nach dem Download offen bleibt, wie kann ich es automatisch schließen? Die letzte Zeile des obigen Scripts funktioniert so nicht, da ja nach Ausgabe der Header-Infos beendet wird. Oder kann ich diese Zeile zum "CloseWindow" auch irgendwie nach dem Header einbauen, so dass sie auch im Browser ausgeführt wird ?
     

  5. #5
    Avatar von SilentWarrior
    SilentWarrior SilentWarrior ist offline Mitglied Diamant
    Registriert seit
    Dec 2001
    Beiträge
    3.078
    Das sollte funktionieren:
    HTML-Code:
    <body onload="window.close">
     

  6. #6
    FRitter FRitter ist offline Mitglied Gold
    Registriert seit
    Jul 2004
    Beiträge
    116
    Es funktionieren beide Varianten (einmal im HTML-Body + einmal als JS separat aufgerufen), aber mein Problem ist ja in PHP, dass ich die Header-Infos bereits an den Client gesendet habe (error: headers already sent by.....).
     

  7. #7
    Avatar von Timbonet
    Timbonet Timbonet ist offline Mitglied Brilliant
    Registriert seit
    Jun 2003
    Ort
    Griesheim (Hessen)
    Beiträge
    800
    Zu "headers already sent" gibt es einen wunderbaren Text in der FAQ und es wurde auch x-mal mittlerweile im Forum angesprochen. Vor der Ausgabe der Header darf kein anderes Zeichen an den Client gesendet werden.
    Die beiden JS-Sachen werden auch nicht mehr funktionieren, da diese dann praktisch an die Datei angehängt werden, die an den Browser gesendet werden.
    Lösung: Ruf den Link einfach nicht in einem neuen Fenster auf...
     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 28.08.07, 09:38
  2. Download button mit "Ziel speichern unter"
    Von cybes im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 01.08.05, 18:26
  3. Antworten: 7
    Letzter Beitrag: 23.01.05, 18:23
  4. "Ziel Speicher unter" bei downloads
    Von ehonk im Forum PHP
    Antworten: 4
    Letzter Beitrag: 19.05.04, 00:35
  5. Antworten: 0
    Letzter Beitrag: 08.05.04, 09:08