Получение «Общих документов» осуществляется с помощью getFolderByServerRelativeUrl («Общие документы»),
но когда я пытаюсь использовать getFolderByServerRelativeUrl("sites/office"), он не получает никаких файлы/папки.
Вот пример кода, который я использую:
Код: Выделить всё
$parentFolderUrl="Shared Documents"; => this works
// $parentFolderUrl="sites/office"; => this does not work
// $parentFolderUrl="/sites/office"; => this does not work
function forEachFile(Folder $parentFolder, $recursive, callable $action, $level=0)
{
$files = $parentFolder->getFiles()->get()->executeQuery();
/** @var File $file */
foreach ($files as $file) {
$action($file, $level);
}
if ($recursive) {
/** @var Folder $folder */
$folders = $parentFolder->getFolders()->get()->executeQuery();
// foreach ($parentFolder->getFolders() as $folder) {
foreach ($folders as $folder) {
forEachFile($folder, $recursive, $action, $level++);
}
}
}
$rootFolder = $ctx->getWeb()->getFolderByServerRelativeUrl($parentFolderUrl);
forEachFile($rootFolder, true, function (File $file,$level){
echo $level, ":", $file->getServerRelativeUrl(), "
", PHP_EOL;
});
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/792 ... ith-phpspo
Мобильная версия