Не так давно я писал пост о том . Пришло время CSV, но там еще проще.
Собственно:
- подключаем файл класса работы с CSV
- создаем объект класса, указываем, что будет использоваться разделитель (R, есть еще фикс.поля F), и первая строка содержит заголовки (true); можно не указывать эти параметры и задать отдельными методами
- загружаем файл
- ставим делиметер, где допустимые параметры: \t (табуляция), запятая, пробел, точка с запятой.
- бежим как при обычной выборке из базы(напомню, Fetch возвращает НЕ обработанные данные, а GetNext безопасные).
require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/csv_data.php";);
$csvFile = new CCSVData('R', true);
$csvFile->LoadFile($_FILES['csv']['tmp_name']);
$csvFile->SetDelimiter(',');
while ($arRes = $csvFile->Fetch()) {
ec($arRes);
} |
- подключаем файл класса работы с CSV
- создаем объект класса, указываем, что будет использоваться разделитель (R, есть еще фикс.поля F), и первая строка содержит заголовки (true); можно не указывать эти параметры и задать отдельными методами
$csvFile->SetFieldsType($fields_type); $csvFile->SetFirstHeader(); |
- ставим делиметер, где допустимые параметры: \t (табуляция), запятая, пробел, точка с запятой.
- бежим как при обычной выборке из базы
;