lunedì 19 dicembre 2011

File separati da virgola, utilizziamo fgetcsv

Estrai dati da file esterno , dati separati da virgola

CSV che significa comma separated value (valori separati da virgola) ha un utilizzo semplice per quanto riguarda l'estrazione delle stringhe testo, separate da un separatore(virgola di default) e il loro utilizzo successivo in un array .

un esempio puo essere la scrittura o lettura da un file formato da campi come nome, cognome, eta

Se vogliamo estrarre dei dati separati da virgola, scritti in un file di testo esterno useremo la funzione fgetcsv, in questo modo :





  • 1 $file = "file_da_leggere.csv"; //il file testo esterno in cui avremo al suo interno con valori, stringhe, separati da virgole
  • 2 $riga=1; //ci servira come riferimento
  • 3 $apri_file = fopen($file, "r"); //apertura del file
  • 4 $size=filesize($file_da_leggere); // rilevo la dimensione del file esterno in modo da poterlo poi scorrere fino alla fine.
  • 5 while (($dati = fgetcsv($apri_file, $size, ",")) !== FALSE) {//contero i dati del file uplodato in csv e prendero i singoli valori separato da virgola, fgetcsv() analizza le righe lette alla ricerca di campi in formato CSV e restituisce un vettore contenente i campi letti, se trova un interruzione di linea, o testo a capo termina la sua esecuzione.
  • 6 $num = count($dati); //conto i valori della prima riga
  • 7 echo "$num campi sulla linea $riga: ";
  • 8 $riga++; // valutera poi la riga successiva, incrementeremo la variabile $riga
  • 9 for ($c=0; $c<$num; $c++) { //utilizziamo il ciclo for, per scorrere tutti gli elementi dell'array formato dai valori separati da virgola della prima riga.
  • 10 echo $dati[$c] .","; //eseguo la stampa
  • 11 }
  • 12 }
  • 13 fclose ($fp); //funzione di chiusura della precedente apertura di fopen file.

  • il file in estensione csv, o in txt utilizzato e' : FILE ESTERNO:

    l' a video nello schermo sara' in questo caso , OUTPUT:

    descizione funzione fgetcsv
    La funzione fgetcsv prende come parametri per il suo utilizzo tre argomenti, il puntatore file, la quantita' dati da leggere, e non obbligatorio il demilitatore del campo.
    Tramite queste informazione la funzione analizza (in lettura 'r' in questo esempio) una singola riga dal file , e salva i campi come elementi di array.
    Nell'esempio proposto viene poi usato un ciclo FOR per scorrere, leggere, tutti i valori (detti anche record) nel file csv.

    Nessun commento:

    Posta un commento