Ospite Inviato 6 Ottobre, 2007 #1 Inviato 6 Ottobre, 2007 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 :) Cita
ADMIN incuso Inviato 6 Ottobre, 2007 Staff ADMIN #2 Inviato 6 Ottobre, 2007 Come è fatto il file? Cita
Ospite Inviato 6 Ottobre, 2007 #3 Inviato 6 Ottobre, 2007 (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 6 Ottobre, 2007 da Ospite Cita
ADMIN incuso Inviato 6 Ottobre, 2007 Staff ADMIN #4 Inviato 6 Ottobre, 2007 Sì ma come sono separati nel file? Se alleghi un esempio è meglio. Cita
Ospite Inviato 6 Ottobre, 2007 #5 Inviato 6 Ottobre, 2007 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... Cita
ADMIN incuso Inviato 6 Ottobre, 2007 Staff ADMIN #6 Inviato 6 Ottobre, 2007 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. Cita
Ospite Inviato 6 Ottobre, 2007 #7 Inviato 6 Ottobre, 2007 ok, grazie :) ma i comandi list e fgetcsv cosa fanno? Cita
ADMIN incuso Inviato 6 Ottobre, 2007 Staff ADMIN #8 Inviato 6 Ottobre, 2007 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()). Cita
Ospite Inviato 6 Ottobre, 2007 #9 Inviato 6 Ottobre, 2007 ok, però io ho un semplice file txt :( Cita
ADMIN incuso Inviato 6 Ottobre, 2007 Staff ADMIN #10 Inviato 6 Ottobre, 2007 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). Cita
Ospite Inviato 6 Ottobre, 2007 #11 Inviato 6 Ottobre, 2007 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 ' ' Cita
Ospite Inviato 7 Ottobre, 2007 #12 Inviato 7 Ottobre, 2007 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 Cita
Risposte migliori
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..