Visualizzazione risultati 1 fino 9 di 9

Discussione: Scrivere piu info su un file

  1. #1
    Guest

    Predefinito Scrivere piu info su un file

    ciao a tutti.

    vorrei sapere se è possibile (credo proprio di si) e come è possibile salvare una serie di informazioni su un file di testo.

    per ora su quel file c'è solo un numero che rappresenta il contatore,
    ma vorrei aggiungere anche altre cose: questo per evitare di fare una query specifica per ogni statistica che voglio generare.

    come posso fare quindi a scrivere piu info su, che so, piu righe e quindi gestire quei valori?

    grazie.

  2. #2
    Guest

    Predefinito

    Dai una letta qui http://it.php.net/manual/en/function.fwrite.php

    Sarebbe anche utile, ai fini dell'aiuto, se postassi lo script che usi.


    Ciaoooo!!!

  3. #3
    Guest

    Predefinito

    Codice PHP:
    $file_c = $path."/script/counter.lsd";

    if (
    file_exists($file_c)) {
    $fp = fopen($file_c, "r+");
    flock($fp, 1);
    $conto = fgets($fp, 4096);
    $conto += 1;
    fseek($fp,0);
    fputs($fp, $conto);
    flock($fp, 3);
    fclose($fp);
    }
    su questo stesso file vorrei salvare altre statistiche.
    che so, ogni volta che viene inserito un record vorrei aggiornare il file.
    in modo che in esso siano contenuti, ad esempio:

    visite = X
    record_inseriti = Y
    utenti_registrati = Z

    usando il file invece che coprire di query il database ogni volta che un utente accede al sito.
    grazie :)


    EDIT: scusate, ma davvero non riesco a cavare nulla dal buco.
    potreste darmi un piccolo aiuto pls?
    Ultima modifica di funcool : 05-03-2007 alle ore 12.08.33

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Puoi utilizzare la funzione file per inserire il contenuto del file in un array che conterrà per ogni campo una riga del file.
    Per riscrivere il file mandando a capo devi aggiungere "\n" alla fine della stringa.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    quindi con fopen() apro il file i testo,
    con file() lo leggo ed ottengo un vettore con dentro tutte le informazioni...
    ci sono quasi...

    in pratica ogni volta che voglio aggiornare una voce del file, basta che ricreo il vettore, e moddo la dove mi interessa giusto?

    esempio:
    prova.txt
    12
    1234
    Codice PHP:
    $mio_file = fopen("prova.txt",r);
    $vettore = file("prova.txt");

    //incremento il contatore visite, che è alla riga 2
    $vettore[2] = $vettore[2] + 1;

    foreach(
    $vettore as $ln=> $vettore) {
    fputs($mio_file,$ln."\n");
    }
    può fungere?
    Ultima modifica di lsdforum : 05-03-2007 alle ore 12.55.44

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Prova così:
    Codice PHP:
    $vettore=file("prova.txt");
    for(
    $i=0;$i<count($vettore);$i++)
    $vettore[$i]=trim($vettore[$i]);

    //incremento il contatore visite, che è alla riga 2
    $vettore[1]=$vettore[1]+1;

    $mio_file=fopen("prova.txt","w");
    for(
    $i=0;$i<count($vettore);$i++)
    fputs($mio_file,$vettore[$i]."\n");
    fclose($mio_file);
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    Guest

    Predefinito

    ah quindi non serve aprire il file in lettura per creare il vettore: lo fa in automatico, in fase di assegnazione?

    Codice PHP:
    //incremento il contatore visite, che è alla riga 2
    $vettore[1]=$vettore[1]+1;
    perchè fai così?
    se è alla riga 2, perchè metti 1?
    errore tuo o sono una pippa infinita io?

    grazie

  8. #8
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Perché la prima riga e nel campo 0, la seconda nel campo 1, ecc...
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  9. #9
    Guest

    Predefinito

    indi mi vuoi dire che sono pippa io!

    grazie per l'aiuto.
    testerò la faccenda e farotti sapere

    PS: vi siete mai accorti che le emoticons funzionano in modo davvero scomodo? perchè non usare il sistema di conversione classico? chi, come me, non usa quasi mai la versione completa dell'editor di testo, non riesce a mettere smile in modo giusto!
    Ultima modifica di lsdforum : 05-03-2007 alle ore 13.31.01

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •