Frage zu Download - Zähler
lachesis
- php
Hallo zusammen,
ich würde meiner Seite gerne einen Download-Zähler spendieren.
Die prinzipielle Vorgehensweise ist (meiner Meinung nach) klar.
Klickt eine Besucher auf den Downloadlink, wird nicht die direkt der Link aufgerufen, sondern ein Script, dem ich die ID des gewünschten Links übergebe. Danach ein redirect auf den eigentlichen Link.
Soweit stimmt das oder?
Wenn der Link auf ein HTML Dokument zeigt, erscheint dann schön die gewünschte Seite. Soweit ok. Aber wenn ich auf eine Datei umleite, kommt der Download-Dialog und eine weiße Seite bleibt stehen oder?
Wie kann man das lösen? Oder verstehe ich den redirect falsch.
THX
lache
Hi,
Danach ein redirect auf den eigentlichen Link.
gib die Ressource selbst aus, keinen Redirect auf sie.
Aber wenn ich auf eine Datei umleite, kommt der Download-Dialog und eine weiße Seite bleibt stehen oder?
Das passiert, wenn Du ein neues Fenster öffnest, ob Redirect oder nicht.
Wie kann man das lösen?
Öffne kein neues Fenster.
Cheatah
hi,
Aber wenn ich auf eine Datei umleite, kommt der Download-Dialog und eine weiße Seite bleibt stehen oder?
nein, eigentlich nicht.
sofern du kein target="_blank" oder sowas angibst, müsste der browser einfach den download-dialog anbieten, und die ursprüngliche seite bleibt im fenster geladen.
wenn du direkt auf einen link zu einer nicht vom browsern anzeigbaren datei klickst, passiert ja auch nichts anderes.
Oder verstehe ich den redirect falsch.
ich denke, ja.
es wird ja keinerlei neuer kontent in form einer html-seite geliefert, also zeigt der browser die bisherige seite weiterhin an.
aber du musst es ja auch nicht mit deinem redirect machen (über den kriege ich ggf. den richtigen dateipfad heraus, und könnte die datei auch direkt irgendwo verlinken).
ein script, dass den donwloadzähler erhöht, anschliessend einen passenden content-type header auslöst, und die daten der datei mit readfile() einliest und ausgibt, tut's ja auch.
für weitere anregungen: http://www.dclp-faq.de/q/q-datei-download.html
gruss,
wahsaga
nein, eigentlich nicht.
sofern du kein target="_blank" oder sowas angibst, müsste der browser einfach den download-dialog anbieten, und die ursprüngliche seite bleibt im fenster geladen.
wenn du direkt auf einen link zu einer nicht vom browsern anzeigbaren datei klickst, passiert ja auch nichts anderes.
Ok, dh. bei einem Link auf eine Datei mach ich einen Link mit target=_blank auf mein download script, erhöhe den Counter um 1 und sezte dann ein Location:...... damit der Link in einer neuen Seite geladen wird.
Soweit klar
ich denke, ja.
es wird ja keinerlei neuer kontent in form einer html-seite geliefert, also zeigt der browser die bisherige seite weiterhin an.aber du musst es ja auch nicht mit deinem redirect machen (über den kriege ich ggf. den richtigen dateipfad heraus, und könnte die datei auch direkt irgendwo verlinken).
ein script, dass den donwloadzähler erhöht, anschliessend einen passenden content-type header auslöst, und die daten der datei mit readfile() einliest und ausgibt, tut's ja auch.
Bei einer Datei muß ich ja auch auf mein downloadscript verweisen um den counter zu erhöhen, lasse aber jetzt das target weg und sende
header("Content-Disposition: attachment; filename="$save_as_name"");
readfile($filename);
Richtig oder falsch?
THX
lach
Hello,
da schau Dir mal http://bitworks.de/~selfHTML/speichern.php an.
Liebe Grüße aus http://www.braunschweig.de
Tom
Moin lachesis,
Wenn der Link auf ein HTML Dokument zeigt, erscheint dann schön die gewünschte Seite. Soweit ok. Aber wenn ich auf eine Datei umleite, kommt der Download-Dialog und eine weiße Seite bleibt stehen oder?
ich habe das so gelöst:
der "Auruflink"
href="forward.php?die_zu_downloadende_datei.zip
Und das Script forward.php:
<?
$url = urldecode($QUERY_STRING);
.... alles was Du speichern möchtest ....
zuletzt
header("Location: $url");
?>
Gruß
Mike