Vai al contenuto

Risposte migliori

Inviato

Ho un problemino con php, nel programma ho inserito un form che invia alcuni dati in una pagina php che li inserisce in un file di testo. Il mio problema è: come faccio a riprendere i dati dal file e metterli in un array o in variabili? con la fgets posso prendere solo un numero determinato di bytes :(

Grazie :)

  • ADMIN
Staff
Inviato

Come è fatto il file?


Inviato (modificato)

contiene 5 variabili (ma posso ridurle a 3) per ogni inserimento, può contenere: nome, cognome, anno di nascita, mese e giorno

il problema però è che non riesco a leggere un campo alla volta dei record

Modificato da Ospite
  • ADMIN
Staff
Inviato

Sì ma come sono separati nel file? Se alleghi un esempio è meglio.


Inviato

Ero indeciso, non so se separarli con degli spazi o dei trattini

Un file di esempio può essere questo:

Marco08 visconte 2006 1 06

incuso marchese 2004 3 17

in questo caso li ho divisi con degli spazi... ma forse è meglio usare qualcos'altro...

  • ADMIN
Staff
Inviato

list($nick,$grado,$anno,$mese,$giorno)=fgetcsv($hanndle,1000,' ');

non ci devono essere in giro doppi apici se no, non funziona

Però già che ci sei usa un formato CSV standard, ovvero dividi i campi con ";" e li includi tra " in questo modo il file lo puoi caricare anche on excel.


  • ADMIN
Staff
Inviato

list, spezza un array distribuendone gli elementi tra variabili

fgetcsv legge da un file in formato CSV una iuga e restituisce un array (che poi spezzo con list()).


  • ADMIN
Staff
Inviato

Vedila così, tu hai un file di testo in cui i dati sono separati da spazi. E la fgetcsv() funziona, basta che gli dici che il separatore è uno spazio e non la "," (terzo argomento della chiamata).


Inviato

ora è tutto a posto tranne per una cosetta:

list($nick,$grado,$anno,$mese,$giorno)=fgetcsv($hanndle,1000,' ') 

usando come esempio questo frammento di codice, il programma mi prende 1000 caratteri presenti nel file e li butta in $nick, i successivi 1000 in $grado, ecc... ignorando lo ' '

Inviato

Finalmente ce l'ho fatta! Ho stabilito una grandezza per ogni record, almeno prende i dati giusti :)

Ora lo metto un pò a posto esteticamente ed è finito!

Grazie mille per il tuo preziosissimo aiuto

Unisciti alla discussione

Puoi iniziare a scrivere subito, e completare la registrazione in un secondo momento. Se hai già un account, accedi al Forum con il tuo profilo utente..

Ospite
Rispondi a questa discussione...

×   Hai incollato il contenuto con la formattazione.   Rimuovere la formattazione

  Only 75 emoji are allowed.

×   Il tuo collegamento è stato incorporato automaticamente.   Mostra come un collegamento

×   Il tuo contenuto precedente è stato ripristinato..   Cancella editor

×   You cannot paste images directly. Upload or insert images from URL.

Caricamento...
×
  • Crea Nuovo...

Avviso Importante

Il presente sito fa uso di cookie. Si rinvia all'informativa estesa per ulteriori informazioni. La prosecuzione nella navigazione comporta l'accettazione dei cookie, dei Terms of Use e della Privacy Policy.