Как разобрать файл в php и сгенерировать операторы вставки для mysql? - PullRequest
0 голосов
/ 18 декабря 2009

В случае csv-файла у нас есть fgetcsv в php для разбора и получения выходных данных, но в моем случае файл .dat, и мне нужно проанализировать его и сохранить в базе данных MySQL, и поэтому у нас есть любые встроенные Функция в PHP как fgetcsv, которая может работать аналогичным образом на .dat файл?

Вот примерное значение, оно имеет заголовки DF_PARTY_ID; DF_PARTY_CODE; DF_CONNECTION_ID и его значение, указанное в.

Пример данных:

DF_PARTY_ID;DF_PARTY_CODE;DF_CONNECTION_ID

87961526;4002524;13575326
87966204;4007202;13564782

Ответы [ 3 ]

1 голос
/ 18 декабря 2009

Что не так с 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, ';'));
}
1 голос
/ 18 декабря 2009

IMHO .dat файлы могут быть разных форматов. Слепое следование расширению может быть подвержено ошибкам. Однако если у вас есть файл из какого-то конкретного приложения, возможно, сообщите нам, что это за приложение. Скорее всего, есть некоторые библиотеки синтаксического анализа или подпрограммы.

0 голосов
/ 18 декабря 2009

Я думаю, что было бы проще написать короткую функцию, используя fopen, fread и fclose, чтобы проанализировать ее самостоятельно. Прочитайте каждую строку, взорвитесь в массив и сохраните их как хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...