Описание

Этот раздел содержит PHP-решение для операций с папками в Битрикс24.

Пример использования

Пример 1: Получение информации о папке

Этот пример демонстрирует, как получить метаданные папки с Битрикс24 Диска по ее ID, включая ее название и внутреннюю ссылку.

use Bitrix\Disk\Folder;
use Bitrix\Main\Loader;

Loader::includeModule('disk');

// ID папки, информацию о которой нужно получить
$folderId = 1; // Замените на реальный ID папки (например, корневая папка пользователя)

$folderInfo = [];
$folder = Folder::loadById($folderId);

if ($folder) {
    $folderInfo = [
        'ID' => $folder->getId(),
        'NAME' => $folder->getName(),
        'URL' => $folder->getPublicUrl(), // Получение публичной ссылки, если есть
        'CREATE_TIME' => $folder->getCreateTime()->toString(),
        'CREATED_BY' => $folder->getCreatedBy(),
    ];
    // Если нужна внутренняя ссылка для работы в рамках Битрикс24
    $folderInfo['INTERNAL_URL'] = \Bitrix\Disk\UrlManager::getInstance()->getPathFolderList($folder->getStorage()->getId(), $folder->getId());
}

$rootActivity = $this->GetRootActivity();
$rootActivity->SetVariable("FolderInfo", $folderInfo);

Пример 2: Получение папок внутри конкретной папки

Этот пример показывает, как получить список всех дочерних папок, находящихся в указанной папке на Битрикс24 Диске.

use Bitrix\Disk\Folder;
use Bitrix\Main\Loader;

Loader::includeModule('disk');

// ID родительской папки, из которой нужно получить дочерние папки
$parentFolderId = 1; // Замените на реальный ID родительской папки

$childFolders = [];
$parentFolder = Folder::loadById($parentFolderId);

if ($parentFolder) {
    $folders = $parentFolder->getChildren(
        [
            'filter' => [
                '=TYPE' => \Bitrix\Disk\Internals\FolderTable::TYPE_FOLDER
            ]
        ]
    );
    foreach ($folders as $folder) {
        $childFolders[] = [
            'ID' => $folder->getId(),
            'NAME' => $folder->getName(),
            'URL' => $folder->getPublicUrl(),
            'INTERNAL_URL' => \Bitrix\Disk\UrlManager::getInstance()->getPathFolderList($folder->getStorage()->getId(), $folder->getId()),
        ];
    }
}

$rootActivity = $this->GetRootActivity();
$rootActivity->SetVariable("ChildFolders", $childFolders);

Параметры

ПараметрТипОписание
param1stringОписание param1.
param2intОписание param2.

Возвращаемое значение

Описание возвращаемого значения.