Ładowanie plików CSV do tablicy w PHP
Prosta funkcja, która ładuje zawartość pliku CSV do tablicy. Wiersze są pobierane instrukcją file, a następnie rozbijane za pomocą funkcji explode. Musimy oczywiście podać nazwę pliku i znak rozdzielający poszczególne elementy
function LoadFromFile($filename, $divch){
$data = file ($filename);
$i = 0;
while($i<count($data)) {
$data[$i] = explode($divch,$data[$i]);
$i++;
}
return $data;
}Aktualizacja 06.09.2023
Powyższy kod jest nie do końca poprawny ze względu np. na to, że tekst może znajdować się między znakami apostrofa. Prościej i skuteczniej jest użyć wbudowanej w php funkcji str_getcsv np. tak:
$data = array_map ('str_getcsv', file ('plik.csv') );file – pobiera zawartość pliku i zapisuje każdą linię w osobnym wierszu tablicy
str_getcsv – wyciąga dane z wiersza (separatorem jest przecinek)
array_map – każdy element tablicy przekazany przez file wrzuca do funkcji str_getcsv
Czasami chcemy, aby separatorem był inny znak (np. średnik). Możemy wtedy do array_map dodać dodatkowe argumenty. obsługiwane przez funkcję str_getcsv.
$data = array_map ('str_getcsv', file ('plik.csv'), ';' );






