Hallo,
ich biete auf meiner Site Dateien zum Download an und würde gern wissen wie oft die einzelnen Dateien heruntergeladen werden. Kennt jemand ein PHP-Script für diese Aufgaben.
Gruß
Denis
Hallo,
ich biete auf meiner Site Dateien zum Download an und würde gern wissen wie oft die einzelnen Dateien heruntergeladen werden. Kennt jemand ein PHP-Script für diese Aufgaben.
Gruß
Denis
Hi Denis.
schreib dir einfach selbst eines, dafür brauchst du kein fertiges.
Du brauchst ein Script, welches bei jeder Downloadanforderung einmal mitzählt. Das Problem daran ist, dass das Script immer erst aufgerufen werden muss, bevor der Benutzer die Datei bekommt, da es sonst nicht zählen kann.
Baue also ein Script, das als GET-Argument den Dateinamen einer herunterzuladenden Datei annimmt, z.B. so: download.php?datei=dokument.pdf
Das Script sollte dann in einer Datenbank-Tabelle (Spalten: Dateipfad, AnzahlDownloads) die Anzahl um eins erhöhen und schliesslich per
header("Location: " . $_GET[‚datei‘]);
den User auf die angeforderte Datei umleiten.
Alle Links zu den Dateien änderst du auf deiner Seite dann von
Beispieldatei
in
Beispieldatei
Ist die einfachste Methode. Achtung: Da du Benutzereingaben im Datenbankzugriff wiederverwendest, musst du die Daten escapen
http://de2.php.net/manual/en/function.mysql-real-esc…
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo,
ich habe das noch nicht ganz verstanden
Baue also ein Script, das als GET-Argument den Dateinamen
einer herunterzuladenden Datei annimmt, z.B. so:
download.php?datei=dokument.pdf
also in der download.php ist dann der ganze Script-Code?
Das Script sollte dann in einer Datenbank-Tabelle (Spalten:
Dateipfad, AnzahlDownloads) die Anzahl um eins erhöhen und
schliesslich per
header("Location: " . $_GET[‚datei‘]);
den User auf die angeforderte Datei umleiten.
Was ist mit Datenbanktabelle gemeint, eine HTML-Datei, Text-datei?? Oder ist hier die Rede von sql.
Alle Links zu den Dateien änderst du auf deiner Seite dann von
Beispieldatei
in
Beispieldatei
das ist das einzige was ich verstanden habe. Das ganze scheint mir als Nichtprogrammierer doch schwierig zu sein.
Gruß
Denis
Hallo,
ich habe das noch nicht ganz verstandenBaue also ein Script, das als GET-Argument den Dateinamen
einer herunterzuladenden Datei annimmt, z.B. so:
download.php?datei=dokument.pdfalso in der download.php ist dann der ganze Script-Code?
Richtig.
Das Script sollte dann in einer Datenbank-Tabelle (Spalten:
Dateipfad, AnzahlDownloads) die Anzahl um eins erhöhen und
schliesslich per
header("Location: " . $_GET[‚datei‘]);
den User auf die angeforderte Datei umleiten.Was ist mit Datenbanktabelle gemeint, eine HTML-Datei,
Text-datei?? Oder ist hier die Rede von sql.
Ich meinte MySQL, aber wenn du darin wenig bewandert bist oder keine Datenbank zur Verfügung gestellt bemommst, kannst du auch eine Textdatei nehmen.
Der Knackpunkt ist, dass der Dateiname mit der Downloadzahl verknüpft wird, das geht am komfortabelsten mit 'ner Datenbank.
Es lohnt sich wirklich sich etwas mit dem Thema auseinanderzusetzen, du lernst dabei Grundlagen, die du später für viele andere Scripts brauchen kannst.
Alle Links zu den Dateien änderst du auf deiner Seite dann von
Beispieldatei
in
Beispieldateidas ist das einzige was ich verstanden habe. Das ganze scheint
mir als Nichtprogrammierer doch schwierig zu sein.
Das ist eigentlich das einfachtste
Im Moment ist es ja so, dass du eine Seite hast und Dateien zum Download anbietest, richtig? Um das zu erreichen hast du links auf der Seite, die so aussehen wie der erste da. Die Leute klicken drauf und sofort kommt in Ihrem Browser die Frage, ob gespeichert oder geöffnet werden soll.
Alle diese Links änderst du jetzt so um, dass sie dem Schema im zweiten Link entsprechen. Der Besucher wird also nicht mehr direkt auf die eigentliche Datei verwiesen (weil das keiner zählen könnte) sondern erstmal auf das Zählscript, welches dann eine Umleitung vornimmt.
Der Nutzer merkt davon nichts, wahrscheinlich nichtmal eine Verzögerung.
Sieh dir mal die folgenden Themen des Manuals von php.net an (die Sprache der Seite kannst du bei bedarf oben umstellen, aber ich finde die englischen Erklärungen am besten.)
Umleitungen:
http://de2.php.net/manual/en/function.header.php
So schreibt man in Dateien:
http://de2.php.net/manual/en/function.fwrite.php
Und so liest man den alten Inhalt der Dateien aus (ab php 4.3)
http://de2.php.net/manual/en/function.file-get-conte…
Wenn was unklar ist frag einfach, Lernwilligen wird hier jederzeit und gerne bei ihrer Arbeit geholfen.
Gruß
Denis
Gruß
Zed