[Suche]PHP Script ( Counter ): Erklärung

  • Tach M-Core,
    da ich weiß das es hier User gibt die sich mit PHP auskennen und das nicht gerade das Script für Experten ist Frage ich hier einfach mal nach einer Erklärung für ein PHP Seitenaufrufcounterscript und zwar für dieses:

    Wär cool wenn jemand mal die einzelnen Komponenten und Befehle erklärt damit ich verstehe wie das Programm abläuft.

    Mit freundlichen Grüßen
    Assoult

    [CENTER]ISYMFS[/CENTER]

  • Code
    $counterfile = fopen ("stand.txt","r+");


    Datei "stand.txt" wird zu lesen und schreiben geöffnet ("r+"). Zurückgegeben wird eine Resource (... die den entsprechenden FD beinhaltet).

    Code
    flock ($counterfile,LOCK_EX); 
    $canWrite = false; 
    while (!$canWrite) { 
    $canWrite = flock($counterfile, LOCK_EX); 
    }


    Ich habe die Funktion noch nie genutzt. Doku: PHP: flock - Manual
    Dadurch wird sicher gestellt, dass immer nur eine "Skriptinstanz" (wenn man das so nennen mag) auf die Datei zugreift.

    Code
    $counter = fgets ($counterfile); 
    echo ($counter);


    Der Inhalt der Datei wird ausgelesen und ausgegeben.

    Code
    $counter = $counter + 1;


    Die Variable (deren Inhalt ja ausgelesen wurde) wird implizit zur Int umgewandelt und ums eins erhöht.

    Code
    fseek ($counterfile,0);


    Der interne Lese-/ Schreibezeiger wird an den Anfang gesetzt (Durch das fgets wurde er weiter nach hinte gesetzt).

    Code
    fputs ($counterfile,$counter);


    $counter wird wieder implizit zur Zeichenkette umgewandelt und in die Datei geschrieben. Der alte Inhalt wird dabei "überschrieben", da ja der Zeiger durch fseek wieder an den Anfang gesetzt wurde.

    Code
    fclose ($counterfile);


    Die Datei wird geschlossen.

  • Kein guter Counter für unique Seitenaufrufe. Das alleinige reloaden der Seite bringt nen Counter-UP.

    [CENTER][/CENTER]

  • Ja Ist kein guter Counter. Mir haben nur die fx Befehle nichts gesagt. Well danke für die Erklärung.

    [CENTER]ISYMFS[/CENTER]

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!