FAQ и советы Битрикс
Как получить изображения из медиабиблиотеки через API Битрикса?
Если на своем сайте на Битрикс вы храните изображения в Медиабиблиотеки, то возникает вопрос: Как получить изображения из медиабиблиотеки через API Битрикса?Ниже привожу код, как это сделать.
Также расскажу, как получить адрес и получить случайное изображение из медиабиблиотеки Битрикс.
Сначала получим адрес нашего сайта:
//Получаем адрес сайта$rsSites = CSite::GetByID('s1');
$arSite = $rsSites->Fetch();
$site= 'http://'.$arSite['DOMAINS'];
?>
Далее организуем вывод пути до изображений через API Битрикс, который потом можно уже использовать по своему назначению:
//Перед использованием методов класса, подключаем
CModule::IncludeModule("fileman");
CMedialib::Init();
//Получения списка всех коллекций
$arCol= CMedialibCollection::GetList(array('arFilter' => array('ACTIVE' => 'Y')));
//Получения всех изображений коллекции с ID равным 1
$arItems= CMedialibItem::GetList();
//Заполним массив путей к картинкам
$arImgPath= array();
foreach ($arItems as $arItem){
$imgPath= $arItem['PATH'];
$arImgPath[]= $imgPath;
};
echo "";
print_r($arImgPath);
echo "";
?>
Результат будет следующим:
Array
(
[0] => /upload/medialibrary/b1f/b1f48ac6628ad2edb15e79922022417d.jpg
[1] => /upload/medialibrary/d80/d802123cb5c5abe33decfdebf724c2b8.png
[2] => /upload/medialibrary/526/526412531cee356b31c718b831731205.jpg
[3] => /upload/medialibrary/e70/Движение реализ1.png
[4] => /upload/medialibrary/d2d/Движение реализ2.png
[5] => /upload/medialibrary/e24/Движения свободные остатки.png
***
И напоследок ещё пример, как получить случайный путь к изображению
//Получим случайную картинку
$imgPath= $arImgPath[array_rand($arImgPath, 1)];
$imgUrl= $site.$imgPath;
echo $imgUrl;
?>