Nachdem ich mich vor einer Weile schon mal durch gängige Archive gekämpft habe, frage ich erst einmal hier nach.
Ich brauche ein relativ simples PHP-Programm, das einfach nur Downloads zählt und diese in eine MySQL-Datenbank schreibt. Alles ohne dass dieses Programm nach aussen hin in Erscheinung tritt (keine Formatierungen, keine Templates)- ausgenommen in der Ausgabe einer Statistik, die irgendwo includiert werden kann. Die Parameter wie Speicherort der Downloads und Titel der Downloads können im Linkdownload untergebracht oder in einem Adminbereich definiert werden.
Bislang hab ich ein altes Perl-Prog laufen, das sich aber zuweilen verschluckt, wenn gleichzeitig Downloads laufen. Was ich sonst gefunden habe, ist der Overkill.
Download-Zähler
- Loewenherz
- Mitglied
- Beiträge: 624
- Registriert: 10.02.2003 20:11
- Wohnort: Saarlouis
- Kontaktdaten:
Dafür braucht man eigentlich gar kein Script. Sobald man sich mit MySQL und PHP befasst (es gibt genug Tutorials), ist das eine ganz einfache Sache.
Per PHP-Script zählst Du einfach einen Zähler in MySQL hoch. Das geht mit folgendem Querry [1]. Dann leitet das PHP-Script per Header [2] auf die EXE um. Und mit einem weiteren Querry [3] ließt Du den Wert aus und kannst ihn auf Deiner Internetseite anzeigen.
Grüße
Dennis
Per PHP-Script zählst Du einfach einen Zähler in MySQL hoch. Das geht mit folgendem Querry [1]. Dann leitet das PHP-Script per Header [2] auf die EXE um. Und mit einem weiteren Querry [3] ließt Du den Wert aus und kannst ihn auf Deiner Internetseite anzeigen.
Code: Alles auswählen
[1]
UPDATE dl_count SET count = count + 2 WHERE name='meinProgramm'
[2]
Header("Location: ".$url); // $url mit http://
[3]
SELECT count FROM dl_count WHERE name = 'meinProgramm'
Dennis
Genau so würde ich das auch machen, aber evtl. eine kleine Änderung.
Wenn du deine Downloads in eine MySQL DB hast, würde ich dies nicht über den Programmnamen abfragen und den Counter hochrechnen lassen sondern über die ID (mit auto_increment erstelltest Feld).
Der Link zum Download könnte dann wie folgt aussehen:
http://www.deineDomain.de/downloads.php?id=5
in der downloads.php
sollte dann eine derartige Abfrage vorhanden sein:
Und den Download würde ich in der selben Datei machen (damit du nicht zuviele Dateien hast) mit der Abfrage ob die ID und mode gesetzt ist (wurde bei der Beispielsabfrage lediglich überprüft ob ID gesetzt und nicht leer ist und mode nicht gesetzt ist. Die Mode-Variable wird dann in der Header-Anweisung mit weiterübermittelt).
Das Laden des Downloads würde ich persönlich in einem iFrame machen damit der Pfad zum Download nicht direkt in der Adresszeile steht, damit die User net diesen einfach kopieren und dann den Counter umgehen.
Mfg
MrMind
Wenn du deine Downloads in eine MySQL DB hast, würde ich dies nicht über den Programmnamen abfragen und den Counter hochrechnen lassen sondern über die ID (mit auto_increment erstelltest Feld).
Der Link zum Download könnte dann wie folgt aussehen:
http://www.deineDomain.de/downloads.php?id=5
in der downloads.php
sollte dann eine derartige Abfrage vorhanden sein:
Code: Alles auswählen
if( !empty($HTTP_GET_VARS['id']) && empty($HTTP_GET_VARS['mode']) )
{
$sql = "UPDATE dl_table SET count = count + 1 WHERE id='" . $HTTP_GET_VARS['id'] . "'";
if( mysql_query($sql) )
{
Header("Location: ./download.php?mode=dl&id=" . $HTTP_GET_VARS['id']);
}
else
{
//Fehlermeldung auf Templatesausgabe
}
}
Das Laden des Downloads würde ich persönlich in einem iFrame machen damit der Pfad zum Download nicht direkt in der Adresszeile steht, damit die User net diesen einfach kopieren und dann den Counter umgehen.
Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
Coder unter Linux
- Loewenherz
- Mitglied
- Beiträge: 624
- Registriert: 10.02.2003 20:11
- Wohnort: Saarlouis
- Kontaktdaten: