Согласно этому ответу с примером кода для пропуска первых строк после получения содержимого файла:
$content = file_get_contents($filename);
$lines = explode("\n", $content);
$skipped_content = implode("\n", array_slice($lines, 2));
Вы можете изменить свой код следующим образом (хотя лично яможет просто изменить производство CSV-файлов, чтобы прекратить создавать заголовки ... так как взрыв содержимого может замедлить ваши процессы).
<?php
$got_headers = 0;
$csvdir = "./csv";
$csvcontent = '';
if (is_dir($csvdir)) {
if ($handle = opendir($csvdir)) {
while (($file = readdir($handle)) !== false) {
if (substr($file, -4) === ".csv") {
if (empty($got_headers)) {
// get the headers the first time only
$csvcontent .= file_get_contents($csvdir . $file);
$got_headers = 1;
} else {
// now, pull the lines after the first
$content = file_get_contents($csvdir . $file);
$lines = explode("\n", $content);
$csvcontent .= implode("\n", array_slice($lines, 1));
}
}
}
closedir($handle);
}
}
$result = fopen('./todos.csv', 'w');
fwrite($result, $csvcontent);
fclose($result);