use \Bitrix\Main\{ Application, IO };
$iterator = new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator(Application::getDocumentRoot() . '/upload/MY_FOLDER/', \RecursiveDirectoryIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS),
\RecursiveIteratorIterator::SELF_FIRST
);
foreach($iterator as $item) {
if ($item->isFile()) {
$file = new IO\File($item->getPathname());
echo \sprintf('<a download href="/%s">%s</a>', \str_replace(Application::getDocumentRoot(), '', $file->getPath()), $file->getName());
}
}