Seitenaufruf zählen?

  • PHP

  • Linux-Daemon
  • 3172 Aufrufe 9 Antworten
  • Seitenaufruf zählen?

    Hi,

    bin totaler Newbie in PHP und hab auch nicht direkt soviel Zeit mich damit zu beschäftigen.;)
    Ich bräuchte ein kleines Script, welches mir den Seitenaufruf einer bestimmten url zählt.;)
    Z.b. wenn eine bestimmte Seite (müsste man im Script angeben können) mit .dl.am aufgerufen wird, damit das wie ein Counter zählt.:)
    Wäre natürlich super wenn das die Besucher der Seite nicht sehen würden ;) quasi dass das Script zwar die Aufrufe zählt, aber nicht angezeigt wird sondern direkt weiterleitet - hoffe ist gut beschrieben?! :rolleyes:

    Braucht man da (unbedingt) eine MySQL-Datenbank? :eek:

    Wenn das realisierbar wäre (ohne DB), dann wäre es super wenn das Script das für jeden Tag auswerten würde.;)

    Könnte mir das jemand machen?
    Wieviel Zeit würde das in Anspruch nehmen?

    PS: Mehr dazu dann evtl. per PN.;)
  • PHP-Quellcode

    1. if(!file_exists("count.txt")){fopen("count.txt". "a" );}
    2. $counter=fopen("count.txt","r+");
    3. $aufruf=fgets($counter,100);
    4. $aufruf=$aufruf+1;
    5. rewind($counter);
    6. fputs($counter,$aufruf);


    Das in eine PHP-datei einlegen und es wird eine Datei namens Count.txt (CHMOD 777 und die Datei muss Anfangs nur eine 0 enthalten ;)) immer um eins höher gesetzt. Die Variabel $aufurf hat dann den Wert, des aktuellen Standes, kannst also für das Asugeben einfach echo $aufruf; verwenden oder es einfach dabei belassen und dann, in einer anderen Datei den Code zum Aufruf verwenden ;)

    PHP-Quellcode

    1. if(!file_exists("count.txt"))fopen("count.txt". "a" );
    2. $counter=fopen("count.txt","r+");
    3. $aufruf=fgets($counter,100);
    4. echo $aufruf;



    Hoffe, das ist es was du willst;)
  • Erstmal danke.:)
    Laut deiner Beschreibung sieht es schon so aus, wie ich es möchte.:)
    Müsste jetzt allerdings erst schaun, wie ich das in eine PHP-Datei reinbekomme und es mir dann, wenn man die *.dl.am aufruft, welche dann weiterleitet, mir die Seitenaufrufe zählt.;)
    Habe nämlich nur Zugriff auf die .dl.am aber nicht auf die Url, auf die weitergeleitet wird.;)

    Wie kann ich die Aufrufe dann kontollieren? :confused:
    Möchte ja nicht, dass jeder Besucher die bisherigen Aufrufe sieht.;)
  • Na ganz einfach ;)
    Also wenn ich dich verstehe willst du zu einer dl.am URL weiterleiten.

    Dann mach doch einfach:

    PHP-Quellcode

    1. <?php
    2. if(!file_exists("count.txt")){fopen("count.txt". "a" );}
    3. $counter=fopen("count.txt","r+");
    4. $aufruf=fgets($counter,100);
    5. $aufruf=$aufruf+1;
    6. rewind($counter);
    7. fputs($counter,$aufruf);
    8. header("LOCATION:http://$_GET['url']");
    9. exit;
    10. ?>
    Alles anzeigen


    Sprich du rufst die Datei so auf

    Quellcode

    1. datei.php?url=www.domain.dl.am


    Und dann in Datei "Statistik.php"

    PHP-Quellcode

    1. <?php
    2. echo "Auf www.domain.dl.am wurden insgesamt ";
    3. if(!file_exists("count.txt"))fopen("count.txt". "a" );
    4. $counter=fopen("count.txt","r+");
    5. $aufruf=fgets($counter,100);
    6. echo $aufruf." Aufrufe registriert";
    7. ?>


    Hoffe, ich habe dich richtig verstanden ^^"
  • Habe jetzt 3 Dateien angelegt - die count.txt (CHMOD 777), datei.php und die statistik.php mit dem Inhalt deines 2. Postings.;)

    Ich versteh jetzt nur folgendes nicht:

    Quellcode

    1. datei.php?url=www.domain.dl.am


    Ich möchte ja, wenn jemand die .dl.am aufruft (leitet automatisch zu ner anderen Seite weiter), dass dieser Aufruf zählt.
  • Na so rufste die Datei auf.
    Aber wenn du nur eine URL hast, dann kannste auch anstatt

    PHP-Quellcode

    1. header("LOCATION:http://$_GET['url']");


    PHP-Quellcode

    1. header("LOCATION:http://www.domain.dl.am");

    schreiben, dann brauchste das "datei.php?url=www.domain.dl.am" nicht ;)

    Aber wenn du mehrere URLs hast, dann könntest du für jede einzelne eine Textdatei anlegen und so für alle ein Statistik anfertigen. Aber das war blöd von mir, da du ja nur eine URL hast ^^"
    Also einfach header("LOCATION:http://$_GET['url']"); mit "header("LOCATION:http://www.domain.dl.am");" vertauschen und schon brauchste das nicht ^^

    Gruß
    BloodVortex