есть код, пытался через file сохранить и пытался и через curl, но ничего не получается, как сделать? подскажите пожалуйста
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
/*
* Настройки
*/
require($_SERVER["DOCUMENT_ROOT"]."/1c_exchange/core/options.php");
/*
* Функции
*/
require($_SERVER["DOCUMENT_ROOT"]."/1c_exchange/core/functions.php");
$reader = new XMLReader();
$xmlfile = GetXML("users");
if (!$reader->xml($xmlfile)){
$error_text = date("d.m.Y H:i:s")." - Импорт сотрудников: полученный ответ от веб-сервиса не удалось открыть на чтение, как xml файл";
hlb_import_log($error_text);
die($error_text);
}
$arPositions = array();
//справочник должнсотей. их меньеш чем юзеров так что сначала получим его
CModule::IncludeModule("highloadblock");
$hlblock = Bitrix\Highloadblock\HighloadBlockTable::getById(HLB_POSITIONS_ID)->fetch();
$entity = Bitrix\Highloadblock\HighloadBlockTable::compileEntity($hlblock);
$entity_data_class = $entity->getDataClass();
$resPosition = $entity_data_class::getList(array ('order' => array ("ID" => "ASC"), 'filter' => array(), 'select' => array('*')));
while($arPosition = $resPosition->Fetch()) $arPositions[$arPosition["UF_NAME"]] = $arPosition;
$oUser = new CUser;
while ($reader->read()):
if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'm:items'){
$data = new XMLReader();
$data->xml($reader->readOuterXML());
$UserFields = [];
$AcceptedPosition = [];
while($data->read()){
switch ($data->name){
case "m:id": $v = $data->readInnerXML(); if(strlen($v)>0)$UserFields["XML_ID"] = $v; break; //внешний код
case "m:loginAD": $v = $data->readInnerXML(); if(strlen($v)>0)$UserFields["LOGIN"] = $data->readInnerXML(); break; //логин
case "m:surname_fio": $v = $data->readInnerXML(); if(strlen($v)>0)$UserFields["LAST_NAME"] = $data->readInnerXML(); break; //фамилия
case "m:name_fio": $v = $data->readInnerXML(); if(strlen($v)>0)$UserFields["NAME"] = $data->readInnerXML(); break; //имя
case "m:middlename_fio": $v = $data->readInnerXML(); if(strlen($v)>0)$UserFields["SECOND_NAME"] = $data->readInnerXML(); break; //отчество
case "m:birthDay": $v = $data->readInnerXML(); if(strlen($v)>0)$UserFields["PERSONAL_BIRTHDAY"] = ConvertTimeStamp(strtotime($data->readInnerXML()), "SHORT", "ru"); break; //дата рождения
case "m:assistant":
$v = $data->readInnerXML(); if(strlen($v)>0){
$UserFields["UF_ASSISTANT"] = CUser::GetByLogin($v)->Fetch()["ID"];
}
break; //асистент
case "m:position":
$v = $data->readInnerXML(); if(strlen($v)>0 && isset($arPositions[trim($v)]["ID"])){
$UserFields["UF_CUSTOM_POSITION"] = $arPositions[trim($v)]["ID"];
$AcceptedPosition[$arPositions[trim($v)]["ID"]] = trim($v);
}
break; //должность
case "m:subdivisioncode":
$v = $data->readInnerXML(); if(strlen($v)>0){
$res = CIBlockSection::GetList(Array(), array("CODE"=>$v.""), false, array("ID"));
if($ar = $res->Fetch()) {
$UserFields["UF_DEPARTMENT"] = array($ar["ID"]);
}
}
break;//подразделение
}
}
}
endwhile;
$path = $_SERVER["DOCUMENT_ROOT"].log_users.'hlb_import_users.xml';
file_put_contents($path, file_get_contents($data));
die("success");