YuriDan
10/31/2013 - 4:32 AM

Bitrix — работа с CSV

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 (табуляция), запятая, пробел, точка с запятой. 
- бежим как при обычной выборке из базы.