Visualizzazione risultati 1 fino 12 di 12

Discussione: lavorare file di testo

  1. #1
    Guest

    Predefinito lavorare file di testo

    <?
    $file = "counter.txt";
    $apertura = fopen($file, 'w+');
    $scrittura = fwrite($apertura, 'Testo da scrivere');
    $contenuto = fread($apertura, filesize($file));
    echo "$contenuto";
    $chiusura = fclose($apertura);
    ?>

    con questo codice riesco a salvare la scritta "Testo da scrivere" nel file di testo ma non riesco a far visualizzare questa.... dov'è l'errore?

  2. #2
    Guest

    Predefinito

    $chiusura =
    è inutile e cmq non legge perchè il puntatore dopo la scrittura è alla fine del file, quindi dopo la scrittura prova a mettere fseek ( $apertura, 0);

    EDIT
    ah al posto di filesize($file) devi mettere un valore numerico, visto che il file non è stato ancora chiuso la dimensione sarà 0
    Ultima modifica di theCoreWS : 18-06-2005 alle ore 18.52.55

  3. #3
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    dopo aver scritto il file il puntatore si trova alla fine...

    per leggerlo dall'inizio devi riavvolgere il puntatore

    prova ad usare:

    rewind($apertura);

    prima di fare l'fread
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  4. #4
    Guest

    Predefinito

    ora provo! ma anche se è inutile è lo stesso no? l'ho messo per capire meglio :D

    EDIT: niente... ecco il nuovo codice...

    <?
    $file = "counter.txt";
    $apertura = fopen($file, 'w+');
    $scrittura = fwrite($apertura, 'Testo da scrivere');
    $ritorno = fseek( $apertura, 0);
    $contenuto = fread($apertura, filesize($file));
    echo "$contenuto";
    $chiusura = fclose($apertura);
    ?>

    REEDIT: ora provo il codice di evcz :d

    4 EDIT: nothing :(
    <?
    $file = "counter.txt";
    $apertura = fopen($file, 'w+');
    $scrittura = fwrite($apertura, 'Testo da scrivere');
    $ritorno = rewind($apertura);
    $contenuto = fread($apertura, filesize($file));
    echo "$contenuto";
    $chiusura = fclose($apertura);
    ?>
    sigh sob!
    Ultima modifica di wrestlingforum : 18-06-2005 alle ore 18.52.24

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da theCoreWS
    ...
    EDIT
    ah al posto di filesize($file) devi mettere un valore numerico, visto che il file non è stato ancora chiuso la dimensione sarà 0
    mi auto cito

  6. #6
    Guest

    Predefinito

    ho messo cosi, ma non va:

    <?
    $file = "counter.txt";
    $apertura = fopen($file, 'w+');
    $scrittura = fwrite($apertura, 'Testo da scrivere');
    $ritorno = rewind($apertura);
    $contenuto = fread($apertura, '0');
    echo "$contenuto";
    $chiusura = fclose($apertura);
    ?>

    boh!

  7. #7
    Ospite Guest

    Predefinito

    ma cosa vuoi fare un contatore? prova così, funziona magari poi lo adatti alle tue necessità:
    <?

    $counter = "counter.txt";
    $counter_file_line = file($counter);

    $counter_file_line[0]++;
    $cf = fopen($counter, "w+");
    fputs($cf, "$counter_file_line[0]");
    fclose($cf);

    include"counter.txt";
    ?>
    prova a upparlo così e poi ricarica la pagina e vedi che conta :)

  8. #8
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    Citazione Originalmente inviato da wrestlingforum
    ho messo cosi, ma non va:

    <?
    $file = "counter.txt";
    $apertura = fopen($file, 'w+');
    $scrittura = fwrite($apertura, 'Testo da scrivere');
    $ritorno = rewind($apertura);
    $contenuto = fread($apertura, '0');
    echo "$contenuto";
    $chiusura = fclose($apertura);
    ?>

    boh!
    $contenuto = fread($apertura, '0');

    rileggi nuovamente quanto scritto da theCoreWS!!!

    se metti 0 vuol dire che leggi 0 byte!!! devi mettere una valore + grande!
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da Evcz
    $contenuto = fread($apertura, '0');

    rileggi nuovamente quanto scritto da theCoreWS!!!

    se metti 0 vuol dire che leggi 0 byte!!! devi mettere una valore + grande!
    poi 0 non deve essere un carattere, quindi togli gli apici :)

  10. #10
    Guest

    Predefinito

    no non vogio un contatore, stavo facendo un po di prove per impratichirmi coi file di testo... dato che prima usavo solo il db.. comunque ora provo!

    edit: si va.. ho messo 999999 :D.. c'è un opzione che conta autometicamente la dimensione del file?
    Ultima modifica di wrestlingforum : 19-06-2005 alle ore 12.06.46

  11. #11
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    Citazione Originalmente inviato da wrestlingforum
    no non vogio un contatore, stavo facendo un po di prove per impratichirmi coi file di testo... dato che prima usavo solo il db.. comunque ora provo!

    edit: si va.. ho messo 999999 :D.. c'è un opzione che conta autometicamente la dimensione del file?
    come detto prima da thecoreWS devi chiudere il file, pesarlo e riaprirlo in lettura....

    finchè non lo chiudi non riesci a leggerne il peso corretto!!!
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  12. #12
    Guest

    Predefinito

    ecco adesso funziona correttamente!
    <?
    $file = "counter.txt";
    $apertura = fopen($file, 'w+');
    $scrittura = fwrite($apertura, 'Ciao a tutti');
    $ritorno = rewind($apertura);
    $chiusura = fclose($apertura);

    $apertura = fopen($file, 'r+');
    $dimensione = filesize($file);
    $contenuto = fread($apertura, $dimensione);
    echo "$contenuto";
    $chiusura = fclose($apertura);
    ?>
    grazie a tutti!

Regole di scrittura

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