![](/img/trans.png)
[英]Rackspace cloud files: Image Upload to rackspace cloud files using PHP
[英]How to access and upload files into folders on rackspace open cloud container using PHP?
我使用的是作曲家包'rackspace / php-opencloud'
composer require rackspace/php-opencloud
並嘗試上傳並獲取文件夾中的文件列表
包括自動加載文件並添加
require 'vendor/autoload.php';
使用文檔http://docs.php-opencloud.com/en/latest/services/object-store/index.html上給出的過程,但我沒有獲得訪問容器內的文件夾的解決方案(在我的案例中的食譜) )。 如何將文件上傳到容器“食譜”中的“images”和“uploads”目錄中。
$client = new OpenCloud\OpenStack('{keystoneUrl}', array(
'username' => '{username}',
'password' => '{apiKey}',
'tenantId' => '{tenantId}',
));
$service = $client->objectStoreService('{catalogName}', '{region}', '{urlType}');
$ containers = $ service-> listContainers();
foreach ($containers as $container) {
/** @param $container OpenCloud\ObjectStore\Resource\Container */
printf("Container name: %s\n", $container->name);
printf("Number of objects within container: %d\n", $container->getObjectCount());
}
通過上面的代碼,我可以訪問容器列表,我可以設置容器,並可以獲取列表
$containers = $service->listContainers();
** @param $container OpenCloud\ObjectStore\Resource\Container */
$container = $service->getContainer('{containerName}');
我在rackspace網站上找到了答案: https : //developer.rackspace.com/docs/cloud-files/quickstart/? lang = php
並且他們清楚地解釋了我們無法在任何容器內創建新容器,我們可以傳遞子目錄然后傳遞對象的名稱,如下所述:
雖然您無法創建嵌套容器,但Cloud Files確實支持子目錄或子文件夾。 通過在對象名稱中包含子目錄路徑,使用正斜杠字符/分隔路徑段,可以通過特殊的命名約定將對象上載到子目錄。
例如,如果您希望對象的相對URL為/images/kittens/thumbnails/kitty.png,請使用該相對路徑作為對象名稱將對象上載到容器
$object = $container->uploadObject('{subdirectories}/{object_name}', $handle);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.