Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    permessi 777 per semplice counter

    ho scaricato questo counter:
    http://freephp.html.it/script/view_script.asp?id=589

    il file readme dice che devo abilitare la cartella principale del sito al CHMOD 777..

    non è pericoloso e sconsigliabile?

    oppure vado tranquillo...

  2. #2
    ho risolto il problema.

    Ora però noto che il counter tiene conto anche dei refresh, a dispetto della descrizione
    "Hit-Em v1.1

    Un contatore testuale molto semplice; conta gli accessi unici e non tiene conto dei refresh
    potete consigliermene uno semplice che conti solo gli accessi unici? (senza mysql)


    grazie

  3. #3
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    Guarda...uso PHP da circa una settimana...però mi ci diverto un casino.
    Sto scriptino fa skifo ma l'ho realizzato in venti minuti (però ci ho pensato un pò prima)...

    'FITIURS':
    Ti conta il totale dei visitatori (senza tener conto dei refresh, gli utenti online e pure i passsaggi dell'instancabile googlebot....

    Sto blocco di codice l'ho piazzato nella funzione che si occupava di farmi il footer...se vuoi fare le cose fatte bene puoi suddividere il tutto in due funzioni.
    Una che aggiorna il file...l'altra che lo legge dove ti servono le statistiche.
    Oppure fai in modo di avere indietro da un'unica funzione i dati che ti servono...fai te!
    Il file di log se esiste viene usato altrimenti lo crea...

    Codice PHP:

    // array di visitatori e timestamp in cui sono arrivati
    $visitor_ip  = array();
    $visitor_tm  = array();
     
    $total       0;   // totale da inizio dei tempi
    $total_gbot  0;   // totale gbot da inizio dei tempi
    $meastime    time();  // default per inizio dei tempi
    $filename    "visitors.txt"// il file di log


    // inizio lettura file
    if(file_exists($filename))  // esiste?
    {
       
    $hfile fopen($filename"r");
     
      if(
    $hfile){
        
    $meastime   trim(fgets($hfile20)); 
        
    $total      trim(fgets($hfile20));
        
    $total_gbot trim(fgets($hfile20));
        
        while(!
    feof($hfile))
        {
          
    $ip trim(fgets($hfile20));
          
    $tm trim(fgets($hfile20));
          
          
    // vedi? acquisisco solo i visitatori
          // presenti da meno di 600 secondi (10 min)             
          
    if(time()-$tm<=600)
          {
            
    $visitor_ip[]= $ip;  // push
            
    $visitor_tm[]= $tm;  // push
          
    }
        }
        
    fclose($hfile);
      }
     } 
    // fine lettura file
     
     
    if(isset($_SERVER["REMOTE_ADDR"])) // sempre vero?
     
    {
        
    $current_ip $_SERVER["REMOTE_ADDR"];
        
    $current_tm time();
       
        
    // dopo aver letto l'ip del visitatore controllo
        // se è OK e se non è presente nella lista 

     
    if($current_ip!="" && !count($visitor_ip) || !in_array($current_ip$visitor_ip))
     {
        
    // non è presente! aggiungo!

        
    ++$total;
        
    $visitor_ip[]=$current_ip
        
    $visitor_tm[]=$current_tm;
        
        
    // ciliegina sulla torta...
        
    if(isset($_SERVER["HTTP_USER_AGENT"]))
        {
             if(
    stristr($_SERVER["HTTP_USER_AGENT"], "googlebot"))
             {
               ++
    $total_gbot;
             }
        }
     
     }
    }
     
     
    // riscrivo il file con i dati
     // alcuni visitatori potrebbero essere scomparsi
     // perchè assenti da più di 10 minuti
     
    $hfile fopen($filename"w");
     if(
    $hfile)
     {
        
    fwrite($hfile$meastime."\n");
        
    fwrite($hfile$total."\n");
        
    fwrite($hfile$total_gbot."\n");
        
        
    // gli utenti online sono quelli...rimasti
        
    $online count($visitor_ip);
        for(
    $i=0$i<count($visitor_ip); $i++)
        {
          
    fwrite($hfile,  $visitor_ip[$i]."\n");
          
    fwrite($hfile,  $visitor_tm[$i]."\n");
        }
        
    fclose($hfile);
    }

    // a questo punto hai le variabili

    // $meastime   : data di inizio registrazione
    // $total      : numero di visitatori totale (da $meastime)
    // $total_gbot : numero di visitatori che erano googlebot
    // $online     : numero di visitatori online  

    // la data la puoi formattare in numeri umani così
    $ddata strftime("%d/%m/%Y" $meastime); 
    Oppure ti scarichi qualche counter dalla lista PHP script del sito oppure fai il grande passo con PHPstats (che ti dice pure quante volte un utente con Firefox 1.0 va a pisciare in media tra le 10 e le 11 di sera...)

  4. #4
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    Chiedo scusa ma la formattazione ha fatto diventare il mio codice lungo più di quello che è in realtà...

  5. #5
    Ciao, grazie mille!

    Ora provo il tuo script!

    PS: ho cercato nei download di freephp, ma non ho trovato contatori contino gli accessi unici senza database...


  6. #6
    se stai su PHP5 dai un' occhiata a questa
    http://www.devpro.it/php5_id_63.html
    lavora con MySQL, MySQLI, Postgre, SQLite o file di testo
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    grazie ma sto su PHP4..
    e poi cercavo uno script senza db.


  8. #8
    [supersaibal]Originariamente inviato da i_am_antipop
    grazie ma sto su PHP4..
    e poi cercavo uno script senza db.

    [/supersaibal]
    quello che t'ho postato e' anche senza db, ha un semplice layer semi astratto che avora con db di un tipo o di un altro o con un file di testo a seconda di come imposti il costruttore


    cmq se stai su PHP4 non saprei, ce ne sono tanti in giro, oppure guarda come ho fatto io sul 5 e prova a rifarlo sul 4
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    al momento non me lo trovo sotto mano ma cmq io feci in questo modo tempo fa:

    un file mi manteneva il numero di visitatori
    un altro file mi manteneva l'ultimo ip in visita sul sito
    in modo che se quest'ultimo faceva refresh non si aggiorna
    unico problema se piu' utenti arrivano in contemporanea sulla
    pagina l'ip viene cambiato.


    questo puo' essere ovviato con l'uso di sessioni, quindi controlli se è attiva na sessione dopo che hai registrato la sua visita e cosi' non lo conti.


    Ciao e spero di esserti stato utile perchè secondo me è bello usare codice gia' fatto ma piu' soddisfacente provare a crearselo.
    " Il web è il nostro futuro, perchè non esiste nulla di più libero ".

  10. #10
    Sì, son d'accordo con te!
    La soddisfazione è ben maggiore quando si realizza una cosa da sè.. il problema è che in php son principiante e qui da me han tutti fretta ..


    byezz

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.