2016-05-16 4 views
0

こんにちは、私は現在、別のプロジェクト内のファイルの保存のためのRackspaceのOpenCloudファイルPHPのAPIを使用していますが、私は、ネストされたコンテナを使用する必要があります。RackspaceのOpenCloudファイルPHPのAPIネストされたコンテナの問題

私が代わりにルートフォルダのデフォルトとして機能フォルダを指す必要がある/ ACT/

と呼ばれるコンテナにマッピングされているローカルPC上のソフトウェアの一部を持っています。例えば

/行為/ 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(); 
?> 

任意のアイデア?

答えて

0

いくつかの便利な方法があります。コンテナは、その接頭辞でフィルタをかけることができます列挙すると

は:

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

そしてコンテナが存在するかどうかを確認するために、あなたが使用することができます。

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

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

をそれとは別に、あなたは何を行うことができる必要がありますあなたがしたい。

特定のエラーが発生している場合は、ここに投稿してください。a HTTP stack traceを開発者ページのsupport e-mailに送信してください。

関連する問題