\Bitrix\Main\Loader::includeModule('disk'); Рассмотрим пример получения файла из описания(текста), элемента:
//получим ID файлов из Текста сущности
if (preg_match_all('|\[DISK\sFILE\sID=([n]*\d+)\]|', $arPost["DETAIL_TEXT"], $matches))
{
foreach($matches[1] as $inlineFileId)
{
//получаем ID файла, для последующего поиска на диске
list($type, $realValue) = \Bitrix\Disk\Uf\FileUserType::detectType($inlineFileId);
//ищем файл
$file = \Bitrix\Disk\File::loadById($realValue);
//если файл найден
if($file) {
//получим публичную ссылку
$extLink = $file->getExternalLinks()[0];
//если у файла нет публичной ссылки, с генерируем ее:
if (empty($extLink))
$extLink = $file->addExternalLink(array(
'CREATED_BY' => $createdBy,
'TYPE' => $type
));
//получим хэш публичной ссылки, для построения URL
$hash = $extLink->getHash();
//в переменной $link полученная публичная ссылка на файл
$link = "/docs/pub/" . $hash . "/default/";
}
}
} Рассмотрим пример получения ссылки на файл модуля Диск:$realValue // полученный ранее ID файла
$file = \Bitrix\Disk\File::loadById($realValue); // получим объект файла
$name = $file->getName(); // получим имя файла
$info = $file->getFile(); // получим информацию о файле
$link = \Bitrix\Disk\Driver::getInstance()->getUrlManager()->getUrlForShowFile($file); // получим ссылку на файл в Диске