Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [PHP] Come posso salvare questi dati in un txt

    Salve ragazzi! Dovrei fare uno specie di contatore di acesso in poche parole quando una persona visita una pagina viene salvata la sua visita unica, in un file txt, MA si deve salvare il numero di visite totali NELLA GIORNATA, di quella pagina, poi il giorno dopo si salva un altro nuemro, in modo che dopo posso farne un array e creare un grafico delle vistie con le GD2 come potrei fare? Io ho fatto qualcosa ma non so poi come fare in modo per far comparire delle immagini come nuemeri e salvare il numero delle visite giornaliere (si postrebbero anche salvare le date?)

    ecco cosa sono riuscito a fare...

    Codice PHP:
     <? 
    if(!file_exists("count.txt")){ 
     
    $p=fopen("count.txt","w"); 
     
    $count=0
    }else{ 
     
    $p=fopen("count.txt","r+"); 
     
    $count=fgets($p,30); 
     
    fseek($p,0); 

    $count++; 
    fputs($p,$count); 
    echo 
    $count 
    fclose($p);   
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Codice PHP:
    // inizializzazione:
    $counterfile 'count.txt'// impostare file con eventuale percorso

    // lettura storico:
    $count = array();
    if (
    file_exists($counterfile)) $count file($counterfile);

    $days = array();
    foreach (
    $count as $day) {
      list(
    $jd$ct) = explode(','$day);
      
    $days[$jd] = $ct;
    };

    // contatore odierno:
    $td GregorianToJD(date("n"), date("j"), date("Y"));
    if (!isset(
    $days[$td])) $days[$td] = 0;

    // incremento:
    $days[$td]++;

    // riscrivi file:
    $count = array();
    foreach (
    $days as $jd => $ct) {
      
    $count[] = implode(',', array($jd$ct));
    };
    file_put_contents($counterfileimplode("\r\n"$count)); 
    non l'ho testato è certamente ottimizzabile e ci possono essere sviste... comunque il concetto vale...

    IDEA:
    1. se esiste già uno storico vengono prelevati i dati che sono scritti nel formato "giorno, contatore" uno per riga che poi viene inserito in un array associativo giorno=>contatore
    2. viene calcolato il riferimento odierno e se non esiste già nello storico allora si imposta il contatore a 0
    3. si incrementa il contatore odierno
    4. si ricompatta l'array associativo in una lista "giorno, contatore"
    5. si salva l'intera lista sul file originale

  3. #3
    L'idea è valida ma lo script non funge mi dice:

    Fatal error: Call to undefined function: gregoriantojd() in /membri/zomer/contatori/counter.php on line 16

    Codice PHP:
    <?php
    // inizializzazione:
    $counterfile 'count.txt'// impostare file con eventuale percorso

    // lettura storico:
    $count = array();
    if (
    file_exists($counterfile)) $count file($counterfile);

    $days = array();
    foreach (
    $count as $day) {
      list(
    $jd$ct) = explode(','$day);
      
    $days[$jd] = $ct;
    };

    // contatore odierno:
    $td gregoriantojd(date("d/m/y"));
    if (!isset(
    $days[$td])) $days[$td] = 0;

    // incremento:
    $days[$td]++;

    // riscrivi file:
    $count = array();
    foreach (
    $days as $jd => $ct) {
      
    $count[] = implode(',', array($jd$ct));
    };
    file_put_contents($counterfileimplode("\r\n"$count));
    ?>


    p.s. ecco gli esempi dei grafici

    css : http://zomer.altervista.org/contatori/index.html
    php : http://zomer.altervista.org/contatori/zomer_0002.php

    secondo te quel'è meglio?

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.