Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Downloadcounter Downloadtracker - den richtigen hab ich noch ... Antworten
Downloadcounter Downloadtracker - den richtigen hab ich noch nicht gefunden !

schmchris
Mausakrobat


Beiträge: 163


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: 1330


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


Beiträge: 163


Nein muss nicht unbedingt sein !

  Profil   Editieren   Zitieren

Can
Halbgott


Beiträge: 1330


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


Beiträge: 163


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: 1330


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


Beiträge: 163


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: 1330


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


Beiträge: 163


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


Beiträge: 163


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&auml;ndert von: schmchris am 2003-01-16 16:58 ]

  Profil   Editieren   Zitieren

Can
Halbgott


Beiträge: 1330


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
 

Antworten
Nach oben