Ł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'), ';' );