Downloadcounter Downloadtracker - den richtigen hab ich noch nicht gefunden ! |
schmchris
Mausakrobat Threadstarter
Beiträge: 159 |
Hallo,
ich suche einen Counter der meine Downloads zählt.
( bisher noch kein Problem, gibts ja dutzend im Internet )
Er brauch gar keinen Adminbereich.
Er sollte nicht mit ID´s arbeiten, sondern mit den Richtigen Url´s, ohne das ich die irgendwo eintragen muss. Er sollte alle Counter in einer Datei speichern.
Weiterhin sollte er auch einfach den Stand ausgeben können für eine bestimmte Datei !
Ich hab gegoogled und 100 Ergebnisse gehabt, jedoch keiner der wie oben geschildert ist.
PS: Nur PHP kein SQL
|
 Profil
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
Mit IP- und Time-Sperre?
---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
schmchris
Mausakrobat Threadstarter
Beiträge: 159 |
Nein muss nicht unbedingt sein !
|
 Profil
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
Also, mal ne ganz primitive Lösung:
[Ist nur mal schnell hergetippter Code - funktioniert aber]
function CountClicks($url)
{
if (file_exists("counter/$url.txt"))
{
$lines=file("counter/$url.txt");
$clicks=$lines[0]+1;
}
else
$clicks=1;
$file=fopen("counter/$url.txt","w");
fputs($file,$clicks);
fclose($file);
return($clicks);
}
?>
Es muss ein Ordner "counter" geben. Für jede Download-URL gibt es nun eine Datei, die die Zahl der Clicks enthält. Jetzt musst du bei jedem Download diese Funktion aufrufen, und das wars...
---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
schmchris
Mausakrobat Threadstarter
Beiträge: 159 |
Also ich lad das zeug hoch und mach dann den Link so :
counter.php?url=../../bilder/0018/high/0001.jpg
Ich möchte nämlich zählen wie oft das große Bild aufgerufen wurde und will den Wert unter dem thumbnail angeben !
Oben den Link hab ich mal getestet, aber er ging leider nicht. Irgendwas hab ich falsch gemacht.
Den Ordner "counter" hab ich angelegt und auch schreibrechte und leserechte gegeben.
Kannst du weiterhelfen ?
Diese Nachricht wurde geändert von: schmchris |
 Profil
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
Hm....
Also schreib doch mal in die counter.php:
if (file_exists("counter/$url.txt"))
{
$lines=file("counter/$url.txt");
$clicks=$lines[0]+1;
}
else
$clicks=1;
$file=fopen("counter/$url.txt","w");
fputs($file,$clicks);
fclose($file);
return($clicks);
header("Location: $url);
--
Und jetzt probier mal der Datei die url zu übergeben...
---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
schmchris
Mausakrobat Threadstarter
Beiträge: 159 |
Nun folgender Fehler :
Parse error: parse error, unexpected $ in /home/www/netsh178/html/schmchris/seiten/bildcounter/counter.php on line 19
Übrigens : Danke für deine Mühe
|
 Profil
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
Muss..
header("Location: $url");
...heißen.
---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
schmchris
Mausakrobat Threadstarter
Beiträge: 159 |
Das Sript funktioniert nun aber wenn ich auf eine Datei linke die nicht im gleichen Verzeichnis liegt geht es nicht. Kann man das auch noch lösen ?
Am liebsten würd ich ja den namen gleich mitgeben beim aufruf wie :
counter.php?url=../../bilder/0018/0001.jpg&name=0018-0001
Momentan erscheint folgende Meldung !
Warning: fopen("counter/seiten/bilder/0018/high/0001jpg.txt", "w") - No such file or directory in /seiten/bildcounter/counter.php on line 11
Warning: fputs(): supplied argument is not a valid File-Handle resource in /schmchris/seiten/bildcounter/counter.php on line 12
Warning: fclose(): supplied argument is not a valid File-Handle resource in /h/schmchris/seiten/bildcounter/counter.php on line 13
Diese Nachricht wurde geändert von: schmchris |
 Profil
Editieren
Zitieren
|
schmchris
Mausakrobat Threadstarter
Beiträge: 159 |
Hab es nun anderster gemacht !
Ich habe einen Counter mit folgendem Script realisiert :
$arr = getdate();
$since = $arr["mday"].$arr["mon"].$arr["year"];
if ($QUERY_STRING != ""){$url = $PHP_SELF.'?'.$QUERY_STRING;}
else{$url = $PHP_SELF;}
$written = FALSE;
if (file_exists($countfile))
{
$temparray = file($countfile);
for($index = 0; $index < count($temparray); $index++)
{
$entry = explode("|",$temparray[$index]);
if(!strcmp($entry[4],$url))
{
$tempentry = $entry;
$temparray[$index] = implode($entry,"|");
$fp = fopen($countfile,"w");
for($index = 0; $index < count($temparray); $index++){
fputs($fp,$temparray[$index]);}
fclose($fp);
if($visible == TRUE) {print("Die Seite wurde insgesamt $tempentry[0] besucht, davon $tempentry[1] mal heute.");}
$written = TRUE;
}
}
}
if($written == FALSE)
{
$entry = "1|1|$url|n";
$fp = fopen($countfile,"a");
fputs($fp,$entry,256);
fclose($fp);
if($visible == TRUE) {print("Please reload!");}
}
In der Counter.txt wird der Wer wie folgt abgelegt :
1|1|/seiten/bildcounter/counter.php?url=../../bilder/0015/high/0007.jpg|
Nun möchte ich den Counter aber von einer anderen Seite abfragen ohne das sich der counter erhöht.
In der Variable ".$RESULT[$i]["file"]." steht schon der Dateiname den über darüber einfügen will.
[ Diese Nachricht wurde geändert von: schmchris am 2003-01-16 16:58 ]
|
 Profil
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
Schreib das ganze in eine Funktion und lass den Wert des Counters zurückgeben. Das Script kannst du ja mit
include("script.php");
in ein anderes einbinden.
Can
---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|