modifica array

  • Creatore Discussione Creatore Discussione marco_rx
  • Data di inizio Data di inizio

marco_rx

Utente Attivo
19 Dic 2010
129
0
0
C'è un modo per modificare il valore di un elemento dell'array in modo definitivo?
Cioè ad esempio io ho questo array
PHP:
$n = array(1, 0, 4, 6, 3);
Per incrementare il primo elemento mi basterebbe fare $n[0] += 1, ma se volessi che il nuovo valore venisse mantenuto nella prossima esecuzione dello script come posso fare? (senza usare db o simili)
 
Dovrei memorizzare id, visite ecc... di determinate pagine senza usare db.
Avevo pensato di usare un file di testo ma dovrei controllare la riga corrispondente alla pagina e non ho ancora capito perchè quando aumentano i caratteri di una riga vengono eliminati quelli della successiva, o meglio non so come evitarlo. esempio
da un testo di questo tipo
pag1; 9
pag2; 10
quando il 9 viene incrementato diventa
pag1; 10
ag2; 10
 
Ti consiglio di usare un array serializzato. Per prima cosa crea ed esegui questo script una sola volta, poi potrai anche cancellarlo (serve ad inizializzare il file):
PHP:
<?php
$visits = array();

$fp = fopen('visits.txt', 'a+');
fwrite($fp, serialize($visits));
fclose($fp);
?>
Poi, per aggiornare le visite di una determinata pagina, farai così:
PHP:
<?php
$contents = file_get_contents('visits.txt');
$visits   = unserialize($contents);

$visits['nome_pagina']++;

unlink('visits.txt');

$fp = fopen('visits.txt', 'a+');
fwrite($fp, serialize($visits));
fclose($fp);
?>
E per leggere le visite di una pagina:
PHP:
<?php
$contents = file_get_contents('visits.txt');
$visits   = unserialize($visits);

echo "La pagina 'nome_pagina' ha ricevuto {$visits['nome_pagina']} visite.";
?>
Fammi sapere se ha funzionato.
 
Così in pratica viene salvato ad ogni aggiornamento l'array su un file di testo e quindi i valori vengono aggiornati giusto?
Ma non ho capito se viene creato un file di testo per ogni pagina o viene scritto tutto su una
 

Discussioni simili