 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
17.06.2008, 19:18
|
#1
|
|
TP-Supporter
Registriert seit: Jul 2001
Ort: Berlin
|
Nach Seitenaufruf soll PDF-Datei zum Download "gepushed" werden
Hallo zusammen,
ihr kennt das vielleicht von einigen Shareware-Servern. Dort gibt es einen Link wo drauf steht: Datei hier downloaden, man klickt drauf, eine Seite wird aufgerufen und sofort poppt ein System-Downloadfensterchen hoch wo gefragt wird wo die Datei auf dem lokalen Rechner hingespeichert werden soll.
Ich würde gerne wissen wie dieser Download aufgerufen werden kann ohne nochmals auf einen Downloadlink zu klicken?
Danke für jede hilfreiche Antwort
LoiK
|
|
|
17.06.2008, 19:34
|
#2
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
|
|
|
17.06.2008, 22:26
|
#3
|
|
TP-Supporter
Registriert seit: Jul 2001
Ort: Berlin
|
Hallo Webcreate,
vielen Dank für den wertvollen Hinweis. Leider führt das Script nicht exakt genau das aus, was ich brauche.
Den Download erhält man hier, in dem man einen Link klickt in dem eine Variable steckt und dieser die "download.php" aufruft, die lediglich die Information erhält, dass die Datei zum Download gepushed werden soll.
Ich würde gerne, dass genau zwischen dieser Situation noch eine Seite aufgerufen wird. Man klickt also auf den Link mit der Variable, kommt auf eine neue Seite und sofort wird der Download angeboten.
Leider bekomme ich mit der von Dir vorgeschlagenen Lösung (nach dem Einbau auf meine Seiten) immer leider folgende Fehlermeldung:
PHP-Code:
Warning: Cannot modify header information - headers already sent by (output started at index2.php:3) in index2.php on line 17
Warning: Cannot modify header information - headers already sent by (output started at index2.php:3) in index2.php on line 18
Warning: Cannot modify header information - headers already sent by (output started at index2.php:3) in index2.php on line 19
(index2.php verweist auf sich selber)
Beispiel wie es im Quelltext steht:
PHP-Code:
<a href="index2.php?set=02">TEST</a>
Freue mich auf jeden Tipp!
Danke + Grüße
LoiK
|
|
|
17.06.2008, 22:32
|
#4
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
Buffern ist das Stichwort -> ob_start()
|
|
|
18.06.2008, 07:13
|
#5
|
|
TP-Supporter
Registriert seit: Jul 2001
Ort: Berlin
|
Guten Morgen,
puhh, also ich habe ´ne Weile dran gesessen, aber bekomme das irgendwie nicht hin, weil ich vielleicht auch den rein logischen Ansatz nicht ganz verstehe.
Irgendwie ist es nun auch so, dass zu erst die HTML-Seite ausgegeben wird und dann die angeklickte Datei, jedoch wird diese nicht zum Download angeboten, sondern direkt in den Browser geparsed (also die gesamten kompilierten Quellcodedaten der PDF-Datei) :-(.
Gibt es vielleicht eine andere Möglichkeit? zum Beispiel, dass ich diese Download.php-Datei parallel aufrufen kann?
Danke + Grüße
LoiK
|
|
|
18.06.2008, 07:42
|
#6
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Schau Dir doch mal das Galerie Script an. Dort benutze ich auch ein externes Download Script um angeklickte Bilder direkt als Download anzubieten.
Es ist wichtig das das Download Script als separate Datei verfügbar ist und nicht der Code einfach in die eigentliche Seite platziert wird.
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
.
|
|
|
18.06.2008, 07:55
|
#7
|
|
TP-Supporter
Registriert seit: Jul 2001
Ort: Berlin
|
Also einmal ein großes Dankeschön an alle, die das hier lesen. Ich bin immer wieder überrascht, wie schnell die Antworten kommen. Ich habe innerhalb meiner letzten Antwort eine Lösung gefunden und konnte noch nicht schnell genug meine Lösung hier reinpinseln. Rizzo war schneller ;o), aber im Grunde greife ich genau seinen wertvollen Hinweis auf.
Über die META-REFRESH Weiterleitung (inkl. PHP-Abfrage) habe ich das Problem gelöst, in dem die Download.php nun ANSCHLIESSEND aufgerufen wird, kurz nachdem die Seite geladen worden ist.
PHP-Code:
// Abfrage, wenn ein Set = Dateidownload gewählt ist, soll gleichzeitig die Datei zum Push-Download angeboten werden
if ($set == "") {
// kein Set angegeben!
}
else {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=http://www.test.com/download.php?set=".$set."\">\n";
};
Das ist zwar in Serie, aber es erfüllt seine Aufgabe. Wenn kein Link geklickt worden ist, wird die Weiterleitung auch nicht aktiviert.
Danke für Eure Hilfe!
Beste Grüße
LoiK
|
|
|
18.06.2008, 10:24
|
#8
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Super Idee ... anstatt einfach mal die Fehler auszumerzen oder ob_start einfach sinnvoll einzusetzen, baust du eine HTML Weiterleitung unsauber ein. Das kann es ja wohl auf Dauer nicht sein, oder? 
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
18.06.2008, 10:33
|
#9
|
|
TP-Supporter
Registriert seit: Jul 2001
Ort: Berlin
|
Wieso unsauber? Ist doch W3C-konform. Was ist daran falsch? ;-)
|
|
|
18.06.2008, 10:40
|
#10
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Ein HTML-PHP Code mischmasch ist unsauber. Mach deine Weiterleitung mit header() und gut ist es 
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
24.06.2008, 00:25
|
#11
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Zitat:
Zitat von Boris
Ein HTML-PHP Code mischmasch ist unsauber. Mach deine Weiterleitung mit header() und gut ist es 
|
Nachdem man HTML/Text ausgegeben hat, bringt dir das Senden eines Headers rein garnix. M.E. gibt es keine andere Lösung als den meta-refresh oder javascript, was aber auch nix anderes machen würde, wie der meta-refresh!
Gruß
Jan
|
|
|
24.06.2008, 00:28
|
#12
|
|
TP-Supporter
Registriert seit: Jul 2001
Ort: Berlin
|
Hehe, ...
hey Stuck Mojo, lang nichts mehr von Dir gelesen – dachte Du hast Dich zurückgezogen. Auf jedenfall Danke für Deinen Kommentar, .. dann werde ich nix mehr ändern ;-).
Beste Grüße und Guten Morgen aus Berlin
LoiK
|
|
|
24.06.2008, 09:13
|
#13
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Zitat:
|
Nachdem man HTML/Text ausgegeben hat, bringt dir das Senden eines Headers rein garnix
|
Dann kann er sein Skript so anpassen, dass header() vor jedem Text ausgegegen wird (sprich: Code sauberer schreiben) oder er unterdrückt vorerst die Ausgabe mit Hilfe von ob_start() und kann so header() problemlos an jeder Stelle nutzen.
Ein JS oder META Refresh ist nicht sicher, weil sie fehlschlagen können und ist für mich schlichtweg nicht "sauber". 
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
24.06.2008, 13:59
|
#14
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Boris, evtl. hast du das Vorhaben nicht ganz verstanden: Er benötigt eine Zwischenseite, die dann den Download initialisiert. Bedeutet also, dass vorher definitv etwas ausgegeben werden muss (nämlich die Zwischenseite). Und an diesem Punkt hast du keinerlei Möglichkeit mehr mit PHP einen Header unterzuschmuggeln... auch nicht über irgendeinen Buffer (die Daten sollen ja vor dem Download beim Client angekommen/angezeigt werden).
Gruß
Jan
|
|
|
24.06.2008, 14:17
|
#15
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
Einzige Möglichkeit .. wenn die Zwischenseite denn eine fest definierte und eigene ist ...
Via GET einen Parameter übergeben, der die Download Datei angibt, und dann den Download von der Zwischenseite via header aufrufen und dann entsprechend die Page ausgeben.
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
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.
HTML-Code ist aus.
|
|
| | |