en kommasepareret værdi ( CSV) er en tekstfil, der organiserer flere kolonner eller felter af data ved at adskille dem med et komma. Det er almindeligt at eksportere regneark , såsom dem fra Excel , i CSV- format til brug i andre platforme. Hvis du ønsker at importere Excel-filer i en MySQL-database , kan du bruge PHP til at behandle CSV og sende indholdet til MySQL-database . Dette er en to-trins proces . Det første trin indebærer parsing CSV med PHP. Det andet skridt er at bruge PHP til at kommunikere med MySQL. Instruktioner
1
Eksporter din CSV-fil fra Excel og placere den på den server, der kører PHP og MySQL. I Excel, menuen "Filer" åbne , klik på " Gem som " og derefter "type" og " CSV ". Giv den nye CSV-fil som helst navn , du ønsker , og når Excel advarer om, at du vil miste formatering , gå videre og acceptere denne advarsel. Du modtager denne advarsel , fordi enhver tekstformatering som fed, kursiv eller farver , der ikke kan gemmes i en tekstfil.
2
Opret en PHP variabel og sæt den til stien til CSV -fil på serveren . Brug " fopen " PHP funktion som en del af den variable erklæring , så det vil identificere, hvilke fil for at åbne . Dette kan se ud : Hej
$ file = fopen ( " myfile.csv " , "r ");
"r" angiver, at du åbner filen for læsning kun < br . >
3
Byg en ", mens " loop , der vil gentage gennem filen linje for linje og læse hver linje i en ny variabel. Brug standard PHP -funktioner ", mens " og " feof " til at behandle disse linjer, og brug " fgetcsv " for at parse CSV-fil identificeret ved din " fopen " variabel. Denne løkke kunne kigge eller begynder sådan her : Hej
mens {
$ csv_line = fgetcsv ( $ file , 1024)
Bemærk nummeret ( feof ( $ file ) !) 1024, som er inkluderet i " fgetcsv "-funktionen . Dette fortæller serveren , hvor meget data du kan forvente af en given linje, i tegn. Dette tal skal være større end din længste linje i CSV -filen.
4
Tilføj en MySQL forespørgsel til ", mens " loop , ved hjælp af den indbyggede PHP funktioner til database manipulation. For eksempel kan du bruge " mysql_query "-funktionen i kombination med MySQL "Indsæt" -funktionen for at importere CSV linjen direkte ind i en tabel. Den " mens" loop måske fortsætte som dette : Hej
mysql_query ( " INSERT INTO tabelnavn ( Kolonne1 , COLUMN2 ) VALUES ( $ csv_line [0] , $ csv_line [1] )"
}
fclose ( $ file ) ;
Her behandler vi linjen fra CSV-filen som den vifte , at det er , ved hjælp af ordentlig array- indekser såsom " [0] " og derefter afslutte ", mens " loop med lukning klammeparentes . Endelig har vi lukker "$ file " variable , som vi tidligere har åbnet i starten af programmet.
", mens " loop har således fuldført parsing CSV i PHP , og derefter sende det til databasen med en MySQL forespørgsel.