Pliki CSV są chyba jednymi z najczęściej spotykanych jeśli chodzi o import i eksport danych. Dlatego ich obsługa w PHP jest dużo łatwiejsza dzięki wbudowanym funkcją fgetcsv oraz fputcsv. Więcej jak zawsze najdziecie w dokumentacji, a poniżej proste implementacje wykorzystania funkcji.
Odczyt pliku CSV
$rowNumber = 1;
if (($fp = fopen("nazwa_pliku.csv", "r")) !== FALSE)
{
while (($row = fgetcsv($fp, 1000, ",")) !== FALSE)
{
$colNumber = count($row);
echo "<p>Wiersz $rowNumber zawiera $colNumber kolumn</p>";
$rowNumber++;
for ($x=0; $x < $colNumber; $c++)
{
echo 'Kolumna '.$x.': '.$row[$x].'<br />';
}
}
fclose($fp);
}
Zapis do pliku CSV
$rows = array (
array('12', 'Jan', 'Kowalski', '2020-02-03'),
array('13', 'Adam', 'Nowak', '2020-03-05'),
array('14', 'Bogumiła', 'Kwiatkowska', '2020-04-12')
);
$fp = fopen('nazwa_pliku.csv', 'w');
foreach ($rows as $row)
{
fputcsv(
$fp, // uchwyt to pliku
$row, // pola
',' // separator
);
}
fclose($fp);