Что не так с fgetcsv()
? Расширение файла не имеет значения, если формат данных одинаков для всех ваших файлов.
Пример
$fh = fopen('example.dat', 'r');
while (!feof($fh)) {
var_dump(fgetcsv($fh, 0, ';'));
}
Кроме того, с PHP5.3 вы также можете сделать:
$lines = file('example.dat');
foreach($lines as $line) {
var_dump(str_getcsv(trim($line), 0, ';'));
}