Небольшие объемы парсит нормально.
Но вот с 4Мб как то долго.
<?php
$file_name="tools.csv";
$fp = fopen($file_name, 'r');
$head = fgetcsv($fp, 4096, ';', '"');
while($column = fgetcsv($fp, 4096, ';')){
$column = array_combine($head, $column);
$ww[]=$column;
}
$dd[] = $ww;
echo"<table><tr>";
for ($i = 0; $i <count($head); $i++) {
echo "<th>".$head[$i]."</th>";//Вывод заголовков полей
}
echo "</tr>";
foreach ($dd as $key){
echo"<tr>";
foreach ($key as $key2) {
for ($i = 0; $i <count($head); $i++) {
echo "<td>".$key2[$head[$i]]. "</td>"; //Вывод строк
}
echo"<tr>";
}
}
echo"</table>";
?>