Написал такой скрипт
Код |
---|
//Точка входа с файлами, скрипт думаю будет хранится в папке админ, там же и файлы $sectionIconsFolder = "/bitrix/admin/custom/section-icons"; $path =$_SERVER['DOCUMENT_ROOT'].$sectionIconsFolder; //Получаем содержимое $images = scandir($path); //Проходимся по всем файлам while(list($key, $filename) = each($images)) { //По какой-то причине первые два айтема в массиве с файлами это ., .., для тестовых целей пока что сделал так if($filename != '.' && $filename != '..') { //Здесь пока что статичные данные для тестовых целей //Находим секци по названию секции $arFilter = Array('IBLOCK_ID'=>2, 'CODE'=>'underwear'); $data = CIBlockSection::GetList(array("ASC" => "DESC"), $arFilter)->GetNext(); // Здесь я так полагаю происходит ошибка алгоритма // Насколько я знаю в картинку обычно добавляются данные файла с помощью CFile:MakeFikeArray // Здесь это не работает, есть подозрение что он не может добавить файл так как его нету в дб битрикса и // не в папке upload, скорее всего нужно добавить шаг с добавлением картинки в дб, мб я ошибаюсь $newPicture = CFile::MakeFileArray($path . "/" . $filename); CIBlockSection::Update($data["ID"], Array("PICTURE" => $newPicture)); echo print_r($newPicture); } }; |