2016-10-06 6 views
1

У меня есть большой файл DBF, который я просто хотел бы читать как .csv или .txt файл, преобразовывая его в массив.PHP читает файл .DBF в скрипте

$file = file_get_contents('data.dbf'); 

Выполнение этого просто импортирует его как один огромный текст. Я попытался

explode("\n\r", $file);

, но это не похоже на работу либо как он воспринимает его как одну гигантскую строку без разрывов строк. Excel btw отлично читает.

У меня нет расширения dbase (даже не уверен, что я могу сделать это легко). Есть ли другой способ, я могу читать его правильно по очереди?

+0

Попробуйте файл() вместо file_get_contents(). Это создает массив с каждым элементом, являющимся одной строкой файла. http://php.net/manual/en/function.file.php – ckimbrell

+0

Я пробовал это. По-видимому, это воспринимается как одна гигантская линия. – user2029890

ответ

1

Лучше использовать dBase PECL-extension для DBF-файлов, это позволяет вам читать их правильно и отдельные поля в массиве.
Если вы все еще хотите использовать file() принимать во внимание записку от руководства:

Если PHP не правильно признания окончаний строк при чтении файлов либо на или созданные с помощью компьютера Macintosh, позволяя auto_detect_line_endings работать -time может помочь решить проблему.

 Смежные вопросы

  • Нет связанных вопросов^_^