Rackspace OpenCloud File PHP API проблемы с вложенными контейнерами

Привет! В настоящее время я использую PHP API Rackspace OpenCloud File для хранения файлов в другом проекте, однако у меня есть требование использовать вложенные контейнеры.

У меня есть часть программного обеспечения на локальном компьютере, который сопоставлен с контейнером под названием /Act/

Мне нужно указать на папку Act по умолчанию вместо корневой папки.

например:

/ act /12 - Испытательная Компания /

вместо

/12 - Испытательная Компания /

<?php
    $query = "SELECT clientNAME FROM CRM_clients WHERE clientID = '$client'";
    $result = mysqli_query($db, $query); 
    $rows = mysqli_num_rows($result);
    $row = clean_fetch_assoc($result);
    $name = $row['clientNAME'];

    $containers = $objectStoreService->listContainers();

    var_dump($containers);

    $ContainerExists = 0;

    foreach ($containers as $container) {
        $ContainerName = $container->name;
        if ( strpos($ContainerName, $client) !== false ) {
            $ContainerExists = 1;
        }
    }

    if ( $ContainerExists == 1 ) {
        $containerCONCAT = $client . " - " . $name;
        $container = $objectStoreService->getContainer($containerCONCAT);
    }elseif ( $ContainerExists == 0 ) {
        $containerCONCAT = $client . " - " . $name;
        $container = $objectStoreService->createContainer($containerCONCAT);
        $container = $objectStoreService->getContainer($containerCONCAT);
    }

    //Get list of files
    $objects = $container->objectList();
?>

есть идеи?

1 ответ

Есть несколько удобных методов, которые вы можете использовать.

При перечислении контейнеры могут фильтровать по их префиксу:

$containers = $service->listContainers(['prefix' => $client]);

И чтобы проверить, существует ли контейнер, вы можете использовать:

$name = sprintf("%s-%s", $client, $container->name);

if ($service->containerExists($name)) {

Кроме того, вы должны иметь возможность делать то, что вы хотите.

Если вы сталкиваетесь с конкретными ошибками, пожалуйста, опубликуйте их здесь или отправьте трассировку стека HTTP на электронную почту поддержки, указанную на их странице разработчика.

Другие вопросы по тегам