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

    contatore php con txt aiuto!!

    ciao a tutti avevo creato questo script per un sito
    Codice PHP:
    $var=@fopen("contatore.txt",'r');
    $leggi=@fread($var,filesize("contatore.txt"));
    @
    fclose($var);
    if (
    $leggi==null)
    {
        
    $leggi=1;
    }
    else
    {
        
    $leggi=$leggi+1;
    }
    $var=@fopen("contatore.txt",'w');
    @
    fwrite($var,$leggi);
    @
    fclose($var);
    echo 
    " Numero visite: ".$leggi
    ho controllato regolarmente il sito ed era arrivato a contare circa 1800 accessi, poi un giorno mi segnava solo 60 accessi circa, chiedo cosa può essere successo al file txt:
    non è stato trovato?
    troppi accessi contemporanei al file txt?
    o altri problemi legati al php oppure al txt?

    aiuto please

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Molto probabilmente è ripatito da 0.

    codice:
    $var = fopen...
    if($var !== false){
    	$leggi = intval(fread($var....))
            $leggi++;
    	fseek...
            fwrite...
    	fclose...
    }
    Cosi dovrebbe andare meglio, puoi aggiungere flock.
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    grazie linoma, ma perchè è ripartito da 0?

    non ha trovato il file oppure troppi accessi contemporanei?

    chiedo spiegazione sul codice

  4. #4
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    I motivi possono essere tanti, anche xche si sia cancellato il file. Cmq io eviterei di aprire e chiudere, lo sceglierei solo nel caso la cosa sia ripetuta pochissime volte e di sicuro non per un contatore di visite. Anzi opterei anche per un lock del file in caso di scrittura.
    Per gli Spartani e Sparta usa spartan Il mio github

  5. #5
    tipo cosi?

    Codice PHP:
    $var=@fopen("contatore.txt",'w+');
    $leggi=@fread($var,filesize("contatore.txt"));
    if (
    $leggi==null)
    {
        
    $leggi=1;
    }
    else
    {
        
    $leggi=$leggi+1;
    }
    @
    flock($varLOCK_EX);
    @
    fwrite($var,$leggi);
    @
    fclose($var);
    @
    flock($varLOCK_UN);
    echo 
    " Numero visite: ".$leggi
    questo impedisce che il file si svuoti se si apre contemporaneamente?

  6. #6
    lo script di prima non funzionava, siccome è la priva volta che uso flock vorrei sapere se così va tutto bene, lo script sembra funzionare con una istanza unica, vorrei essere sicuro che almeno funzioni senza cancellare il file

    Codice PHP:
    $var=@fopen("contatore.txt",'r');
        
    $leggi=@fread($var,filesize("contatore.txt"));
        @
    fclose($var);
        if (
    $leggi==null)
        {
            
    $leggi=1;
        }
        else
        {
            
    $leggi=$leggi+1;
        }
        
    $var=@fopen("contatore.txt",'w');
        @
    flock($varLOCK_EX);
        @
    fwrite($var,$leggi);
        @
    fclose($var);
        @
    flock($varLOCK_UN);
        echo 
    " Numero visite: ".$leggi

  7. #7
    nessuna risposta?

  8. #8
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858
    Gente ma perché non usate google analytics per queste cose e vi levate il problema?

  9. #9

    RISOLTO

    ripsosta a _debo: perchè lo facciamo per imparare cose nuove... altrimenti staremo ancora con i bastoncini ad accendere il fuoco

    e riguardo allo script ho trovato un modo per testarlo in macchina localhost

    ho inserito questa riga alla fine dello script

    header ('Refresh: 1, url=ccc.php');

    e ho aperto 20 pagine per vedere se si azzerava,

    funziona grazie dei consigli

  10. #10
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858
    phpneo non si imparano cose nuove reinventando la ruota.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.