Такие задачи всегда сводятся к большому количеству настраиваемого кода для обработки строк.Ваше лучшее оружие выбора будет регулярными выражениями.Забудьте о fgetcsv, если файлы выглядят так же, как ваш файл.
Базовая логика может выглядеть примерно так:
- Извлечение всех строк файла с помощью файловой функции.
- Сохраните каждую область таблицы в свой собственный массив, содержащий строки:
foreach ($filelines as $line)
{
$lefreportlines[] = trim(substr($line, 0, 93));
$middlereportlines[] = trim(substr($line, 67, 135));
...
}
- Когда вы закончите, начните обрабатывать каждый отчет так, как он того заслуживает.Например, крайний левый отчет может быть просто проанализирован с помощью preg_split ('/ \ s + /', $ line);
В любом случае, у вас будет много работы.Удачи!