ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
3435
3435
EMPFEHLEN
-
(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 ?
-
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?
-
23.01.05 18:45 #3
Das kannst du mittels header() und den entsprechenden HTTP-Anweisungen in PHP lösen.
Homepage: Oliver Timmermann, Griesheim
-
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 ?
-
23.01.05 22:34 #5
Das sollte funktionieren:
HTML-Code:<body onload="window.close">
-
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.....).
-
24.01.05 09:44 #7
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...Homepage: Oliver Timmermann, Griesheim
Ähnliche Themen
-
Server-Anmeldung, method="post" unter firefox u.a. funktioniert nicht immer
Von consoleone im Forum Hosting & WebserverAntworten: 1Letzter Beitrag: 28.08.07, 09:38 -
Download button mit "Ziel speichern unter"
Von cybes im Forum Flash PlattformAntworten: 3Letzter Beitrag: 01.08.05, 18:26 -
Bei Link generell immer "Ziel Speichern unter..." ausführen möglich ?
Von FRitter im Forum HTML & XHTMLAntworten: 7Letzter Beitrag: 23.01.05, 18:23 -
"Ziel Speicher unter" bei downloads
Von ehonk im Forum PHPAntworten: 4Letzter Beitrag: 19.05.04, 00:35 -
Wozu dient "ob_start()" bzw. Ausgabepuffer generell?
Von KICK im Forum PHPAntworten: 0Letzter Beitrag: 08.05.04, 09:08





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren