Visualizzazione dei risultati da 1 a 2 su 2

Discussione: User Online

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    46

    [PHP] User Online

    Ragazzi stavo cercando uno script in php che si appoggia su un file txt esterno che mi conti gli user online. Potreste darmi una dritta? O una soluzione?...

    Grazie in anticipo

    P.S.
    Purtroppo per il momento sono senza mysql.

  2. #2
    <?
    #================================================= ===
    #= Script: Live Traffic 5
    #= Version: 5.0
    #= Author: Gregg Kenneth Jewell
    #= Email: greggjewell@yahoo.com
    #= Website: www.arecaweb.com/php/livetraffic/
    #= Copyright: 2003-2004
    #================================================= ===

    ################################################## ###
    #= SETTINGS =#
    ################################################## ###


    function CountUsers () {

    $Expire = "30";

    $AutoMonitor = "1";
    $AutoCorrect = "";
    $AutoRefresh = "";
    $RefreshRate = "";

    $file = "online.log";



    $MaxFileSize = "10";

    $UsersLogged = 0;

    if (!file_exists($file)) {
    echo "file non trovato";
    return 0;
    }

    $Interval = mktime() - $Expire;
    $MaxFileSize = $MaxFileSize * 1000;

    $NewUser = mktime()."|".$_SERVER['REMOTE_ADDR']."[x]";

    if (filesize($file) > $MaxFileSize and $AutoMonitor == "1") {
    #================================================= ================
    #= OVERWRITE ALL OLD USER INFO
    #================================================= ================
    $LoggedUsers = ReadLog($file);
    for ($x=0;$x<count($LoggedUsers);$x++) {
    if ($Interval <= trim(substr($LoggedUsers[$x],0,10)))
    $SavedUsers .= $LoggedUsers[$x]."\r\n";
    }
    $SavedUsers .= $NewUser;

    $handle = @fopen($file,"w");
    @flock($handle,LOCK_EX);
    @fwrite($handle,$SavedUsers."\r\n");
    @flock($handle,LOCK_UN);
    @fclose($handle);
    }
    else {
    #================================================= ================
    #= APPEND USER INFO TO LOG FILE
    #================================================= ================
    $handle = @fopen($file,"a");
    @flock($handle,LOCK_EX);
    @fwrite($handle,$NewUser."\r\n");
    @flock($handle,LOCK_UN);
    @fclose($handle);
    }

    $LoggedUsers = ReadLog($file);

    #================================================= ================
    #= COUNTS CURRENT ONLINE USERS
    #================================================= ================
    for ($x=0;$x<count($LoggedUsers);$x++) {
    $UserInfo = explode("|",$LoggedUsers[$x]);
    // CHECKS FILE DATA FOR REPEAT USERS
    if (isset($CheckUsers)) {
    if ($Interval <= trim($UserInfo[0]) and !stristr($CheckUsers,trim($UserInfo[1]))) {
    $CheckUsers .= $UserInfo[1];
    $UsersLogged++;
    }
    } else {
    $CheckUsers .= $_SERVER['REMOTE_ADDR'];
    $UsersLogged++;
    }
    }

    return $UsersLogged;
    }

    #================================================= ================
    #= READ LOG FILE FUNCTION
    #================================================= ================
    function ReadLog($file) {

    $handle = @fopen($file,"r");
    @flock($handle,LOCK_SH);
    $LoggedUsers = @fread($handle,filesize($file));
    @flock($handle,LOCK_UN);
    @fclose($handle);
    $LoggedUsers = trim($LoggedUsers);
    $LoggedUsers = substr($LoggedUsers,0,-3);
    $LoggedUsers = explode("[x]",$LoggedUsers);
    return $LoggedUsers;

    }
    ?>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.