Visualizzazione dei risultati da 1 a 7 su 7

Discussione: dati in un file txt

  1. #1

    dati in un file txt

    ciao.
    ho la necessità di immagazzinare dati (pochi e molto semplici) in un file txt.
    ho seguito la pillola a riguardo ( http://forum.html.it/forum/showthrea...hreadid=229522 )...solo che non mi funziona qualche parte

    esempio:

    codice:
    $records = file("rubrica.txt");
     for($x = 0; $x < count($records); ++$x)
      {
       list($timestamp, $nome, $email) = explode("|", trim($records[$x]));
       echo "Data: ".date("d/m/Y", $timestamp)." Nome: $nome Email: $email
    ";
      }
    di questa parte di codice, nn fuziona il trim(records[$x]), ovvero lo "\n" alla fine di ogni riga del txt, viene letto come una parte di dato e, quindi stampato a schermo!!

    il secondo problema è relativo all'inserimento dei dati nel txt

    ecco il codice

    codice:
    $nome = trim($nome);
     $email = trim($email);
    
     // apriamo il file di rubrica
     $fp = fopen("rubrica.txt", "a");
    
     // scriviamo il nostro record
     fputs($fp, time()."|$nome|$email\n");
    
     // chiudiamo il file
     fclose($fp)
    il problema dove sta??? sta nel fatto che quando inserisco un nuovo dato, esso viene inserito nella stessa riga dell'ultimo presente, e nn a capo...come dovrebbe essere

    come risolvo??? :master:

    grazie in anticipo ..

    kicko

    PS: scusate se nn mi sono spiegato benissmo..mi sono appena svegliato

  2. #2
    Ciao,

    io farei in questo modo:

    Codice PHP:
    $nome trim($nome);
    $email trim($email);

    // apriamo il file di rubrica
    $fp fopen("rubrica.txt""a");

    // leggo il contenuto del file "rubrica.txt" 
    $txt fread($fpfilesize("rubrica.txt"));

    // riaggiorniamo  il file
    fwrite($fp$txt."\n".time()."|$nome|$email\n");

    // chiudiamo il file
    fclose($fp

  3. #3
    niente, nn capisco il perchè ma i dati nn vengono inseriti in una nuova riga, e non vengono inserite nemmeno le \n

    qualcuno mi sa aiutare? :master:

  4. #4
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Non è che il server apache è su windows?
    Quando scrivi su un file di testo bisogna ricordare che per unix l'end of line è semplicemente il line feed (\n).
    Su sistemi windows/dos è carriage return + line feed (\r\n)

  5. #5
    mmhh....forse ci sono riuscito (apro il file in modalità "at" e uso \r\n)

    ma nel file txt \r\n deve apparire alla fine di ogni riga? perchè nel mio txt nn appare...

  6. #6
    prova così:

    Codice PHP:
    fwrite($fp$txt.'\n'.time().'|'.$nome.'|'.$email.'\n'.chr(13)); 
    all'interno degli apici il codice newline non viene interpretato

  7. #7
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    [supersaibal]Originariamente inviato da kicko
    mmhh....forse ci sono riuscito (apro il file in modalità "at" e uso \r\n)

    ma nel file txt \r\n deve apparire alla fine di ogni riga? perchè nel mio txt nn appare... [/supersaibal]
    Se la riga successiva è scritta nel rigo sotto allora funziona

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.