Создать путь в Microsoft Azure с PHP - PullRequest
0 голосов
/ 25 июня 2018

Я создаю приложение, в котором мне нужно динамически создавать некоторые каталоги с помощью PHP SDK Azure.

Я сделал это с помощью цикла, но я не уверен, что это правильный способ сделать это, вот мой код;

Я не могу создать путь, который уже существует, поэтому я должен проверить уровень за уровнем, если каталог существует, затем войти в него и повторить.

public function generateDirectory($path)
{
    $pathArray = explode("/", $path);

    $currentPath = "";
    try {
        foreach ($pathArray as $key => $slice) {
            $directories = $this->fileClient->listDirectoriesAndFiles("abraco", $currentPath)->getDirectories();
            $currentPath .= $slice . "/";
            $exists = false;
            foreach ($directories as $key => $directory) {
                if ($directory->getName() === $slice) {
                    $exists = true;
                    break;
                }
            }
            if (!$exists) {
                $this->fileClient->createDirectory("abraco", $currentPath);
            }

        }
        return true;
    } catch (Exception $e) {
        return false;
    }

}

Разве у него не должно быть метода для созданияполный путь с подпапками?Я думаю, что этот способ не эффективен.

1 Ответ

0 голосов
/ 28 июня 2018

Разве у него не должно быть метода для создания полного пути с подпапками?Я думаю, что этот способ не эффективен.

Я согласен с вами, что есть способ создать полный путь с подпапками, будет лучше.Но в настоящее время, как вы заметили, если мы хотим создать полный путь с подпапками, нам нужно создавать папку каталогов уровень за уровнем.

Если вы используете fiddler для захвата запроса при создании многоуровневой структуры каталогов с помощью PHP SDK, вы можете найти его, используя следующий API отдыха

https://myaccount.file.core.windows.net/myshare/myparentdirectorypath/mydirectory?
restype=directory

Для получения дополнительной информации см. Azure.Хранилище файлов Создать каталог API .

myparentdirectorypath Необязательно.Путь к родительскому каталогу, где будет создан mydirectory.Если путь к родительскому каталогу не указан, каталог будет создан в указанном общем ресурсе.

Если указан, родительский каталог должен уже существовать в общем ресурсе, прежде чем mydirectory может быть создан.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...