Как читать массовую передачу данных через php? - PullRequest
0 голосов
/ 09 июля 2010

У меня есть большой файл, который я хотел бы прочитать через php, а затем вставить различные поля в MySQL.

Каждый файл в ленте имеет простой текстовый формат, разделенный на столбцы и строки. Каждая запись имеет одинаковый набор полей. Ниже приведены разделители для каждого поля и записи:

Разделитель поля (FS): SOH (ASCII символ 1) Разделитель записей (RS): STX (символ 2 ASCII) + "\ n"

Если я посмотрю первые несколько строк файла, они будут выглядеть так:

#export_dateapplication_idlanguage_codetitledescriptionrelease_notescompany_urlsupport_urlscreenshot_url_1screenshot_url_2screenshot_url_3screenshot_url_4screenshot_width_height_1screenshot_width_height_2screenshot_width_height_3screenshot_width_height_4
#primaryKey:application_idlanguage_code
#dbTypes:BIGINTINTEGERVARCHAR(20)VARCHAR(1000)LONGTEXTLONGTEXTVARCHAR(1000)VARCHAR(1000)VARCHAR(1000)VARCHAR(1000)VARCHAR(1000)VARCHAR(1000)VARCHAR(20)VARCHAR(20)VARCHAR(20)VARCHAR(20)
#exportMode:FULL

Я не могу начать с того, чтобы прочитать этот файл в PHP, может ли кто-нибудь помочь с базовым PHP для чтения каждой записи и назначить переменную для каждого поля, которое я затем смогу записать в MySQL , Я могу обработать запись в SQL, как только у меня будут настроены различные поля.

Заранее спасибо,

Грег

Ответы [ 2 ]

0 голосов
/ 19 октября 2010

Если в каждой строке есть разделители между полями, вы можете посмотреть на fgetcsv () .

Когда вы используете fgetcsv () в строке, она возвращает массив с содержимым из этой строки. Поскольку у вас есть несколько строк, поместите функцию в цикл while () - посмотрите ( пример # 1 )

0 голосов
/ 09 июля 2010

файлы размером более 2 ГБ не могут быть прочитаны в PHP (ограничение 32 бита).

Для меньшего размера используйте простую fopen функцию

И вставка mysql - это все, что нужношаблонов и вставок.

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

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