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($counterfile, implode("\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