CSV datoteke sadrže vrijednosti odvojene zarezima i popularan su, dobro uspostavljen format za rukovanje podacima koji se koristi za pohranu podataka u tabličnom obliku. Ove datoteke mogu se jednostavno izraditi u MS Excelu, OpenOfficeu i Google tablicama. Raščlanjivanje CSV datoteka čita datoteku redak po redak i odvaja retke u vrijednosti niza.
U ovom ćemo vodiču objasniti kako možete analizirati a CSV datoteka pomoću PHP-a.
Raščlanite CSV datoteku pomoću PHP-a
Ugrađena metoda PHP-a koja analizira CSV datoteku je fgetcsv() i čita redak iz CSV datoteke i analizira ga u niz.
Sintaksa korištenja fgetcsv() funkcija u PHP-u je sljedeća:
fgetcsv ( '
Ova funkcija prihvaća tri parametra, naziv datoteke, duljina izbornog parametra najduljeg retka, a zatim drugi opcijski razdjelnik polja parametra. Zadani razdjelnik polja je zarez s dvostrukim navodnicima kao privitkom.
Koristite funkciju fgetcsv() za raščlanjivanje CSV datoteke u PHP-u
Evo kako možete koristiti fgetcsv() funkcija za raščlanjivanje CSV datoteke u PHP-u:
Korak 1 : Prvo otvorite CSV datoteku pomoću fopen() funkcija. Ovdje r način rada koristi se za otvaranje datoteke za čitanje i $ručka je ručica za držanje podataka iz datoteke:
$ručka = fopen ( 'naziv datoteke.csv' , 'r' ) ;
Korak 2 : Nakon toga, možete koristiti while petlju za analizu svakog CSV red zasebno, petlja će se nastaviti do kraja datoteke:
dok ( ( $podaci = fgetcsv ( $ručka , 1000 , ',' ) ) !== NETOČNO ){
// Čitanje podataka CSV datoteke
}
3. korak : Nakon što se datoteka pročita, morate je zatvoriti pomoću funkcije fclose() prosljeđivanjem handle kao jedinog argumenta.
fclose ( $ručka ) ;Ovdje je kompletan kod u PHP-u koji slijedi gornje korake i omogućuje vam da otvorite CSV datoteku u načinu samo za čitanje, ako je datoteka pronađena, inače će se vratiti lažno :
$ručka = fopen ( 'podaci.csv' , 'r' ) ;
dok ( ( $redak = fgetcsv ( $ručka ) ) !== lažno ) {
var_dump ( $redak ) ;
}
fclose ( $ručka ) ;
?>
Gornji kod najprije otvara datoteku 'data.csv' u načinu čitanja pomoću funkcije fopen() i dodjeljuje ručicu datoteke varijabli $handle. Nakon toga čita svaki redak datoteke pomoću while petlje i funkcije fgetcsv(). Kod koristi !== false usporedbu kako bi osigurao čitanje dok se ne dosegne kraj datoteke.
Izlaz
Pretvorite CSV datoteku u višedimenzionalni niz u PHP-u
Također možete analizirati a CSV datoteku pretvarajući je u višedimenzionalni niz tako da se podaci mogu lako čitati unutar datoteke. Sljedeći kôd pomoći će vam da izdvojite podatke iz CSV datoteke na organiziraniji način.
$naziv datoteke = 'data.csv' ;
$ugniježđeni_niz = [ ] ;
ako ( ( $ručka = fopen ( ' {$filename} ' , 'r' ) ) !== NETOČNO )
{
dok ( ( $podaci = fgetcsv ( $ručka , 1000 , ',' ) ) !== NETOČNO )
{
$ugniježđeni_niz [ ] = $podaci ;
}
fclose ( $ručka ) ;
}
jeka '
';
var_dump ( $ugniježđeni_niz ) ;
jeka '' ;
Kako bi podaci bili u čitljivom formatu, gornji kod koristi funkciju tzv var_dump() koji oblikuje i ispisuje podatke na strukturiran način unutar HTML pre oznake.
Izlaz
Evo još jednog načina za otvaranje CSV datoteku u PHP-u na prilagođeniji način. Donji kod će prikazati podatke svakog retka. Prvo smo otvorili datoteku pomoću funkcija fopen(). . Zatim upotrijebite ručku za postavljanje svakog reda datoteke u nju i upotrijebite petlju while za čitanje cijele datoteke CSV datoteku dok pokazivač ne dođe do kraja datoteke. Na kraju zatvaramo datoteku:
$redak = 1 ;
ako ( ( $ručka = fopen ( 'podaci.csv' , 'r' ) ) !== NETOČNO ) {
dok ( ( $podaci = fgetcsv ( $ručka , 1000 , ',' ) ) !== NETOČNO ) {
$brojevi = računati ( $podaci ) ;
jeka '
$brojevi polja u redu $redak :
$redak ++;
za ( $c = 0 ; $c < $brojevi ; $c ++ ) {
jeka $podaci [ $c ] . '
\n ' ;
}
}
fclose ( $ručka ) ;
}
?>
Izlaz
Poanta
U PHP , možemo otvoriti datoteku pomoću fopen() funkciju, čitajte datoteku red po red koristeći fgetcsv() i zatvorite datoteku pomoću fclose() funkcija. Ovaj se postupak može ponoviti za svaki redak u CSV datoteku, što vam omogućuje jednostavno čitanje i rukovanje tabličnim podacima u PHP-u.