- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用composer安装了PHP SDK。看来samples文件夹中有旧代码,导致它不适用于我。我想从RackSpace文件夹下载一些文件。以下是我的代码,没有任何帮助。
<?php
require 'vendor/autoload.php';
$authURL = 'https://identity.api.rackspacecloud.com/v2.0/';
$credentials = array(
'username' => 'XXXX',
'apiKey' => 'XXXX'
);
$connection = new \OpenCloud\Rackspace($authURL, $credentials);
// var_dump($connection);exit;
$objstore = $connection->objectStoreService('cloudFiles', 'DFW');
// get our containers
print("Containers:\n");
$conlist = $objstore->listContainers();
//var_dump($conlist);
while($container = $conlist->Next()) {
printf("* %s\n", $container->name);
}
最佳答案
首先,更新到最新版本的php-opencloud,当前为1.7。
接下来,位于对象存储库的示例代码位于here,但不包括您要执行的操作。
以下给出路径的代码将遍历容器,并将对象从容器保存到目标路径($ savePath)。如果该路径中已经存在该对象,则将跳过该对象。此版本包含指示每个对象成功或失败的输出。试试看,如果您有任何问题,请告诉我。
注意:请记住,Rackspace的云文件(对象存储)是在每个数据中心的基础上处理的,因此仅当您在ORD中连接到objectStoreService时,才可以访问ORD容器中存储的文件。
<?php
require 'vendor/autoload.php';
$authURL = 'https://identity.api.rackspacecloud.com/v2.0/';
$credentials = array(
'username' => 'YOUR_USERNAME',
'apiKey' => 'YOUR_API_KEY',
);
$savePath = '/path/to/files/';
$connection = new \OpenCloud\Rackspace($authURL, $credentials);
$objstore = $connection->objectStoreService('cloudFiles', 'ORD');
// get our containers
print("Containers:\n");
$conlist = $objstore->listContainers();
//var_dump($conlist);
while($container = $conlist->Next()) {
printf("*** %s\n", $container->name);
if($container->name == 'test2')
{
$files = $container->ObjectList();
while($o = $files->Next())
{
$file_name = $o->getName();
// Get our object
$file = $container->getObject($file_name);
printf("** %s\n", $file->getName());
// Let's save this file
echo "* Saving object\n";
if(file_exists($savePath.$file_name))
{
echo "* File already exists! SKIPPING\n\n";
}
else
{
if (!$fp = @fopen($savePath.$file_name, "wb")) {
throw new OpenCloud\Common\Exceptions\IOError(sprintf(
'Could not open file [%s] for writing',
$savePath.$file_name
));
}
//$retval = fwrite($fp, $o->getContent());
if (fwrite($fp, $file->getContent()) === FALSE) {
echo "* ERROR - Cannot write to file ($savePath.$file_name)\n\n";
}
else
{
echo "* File successfully written\n\n";
}
}
}
}
}
Containers:
*** gallery
*** test2
** 61OUUC44G-L._SL1471_.jpg
* Saving object
* File written
** Computer-Code.jpg
* Saving object
* File written
** accessibility2.jpg
* Saving object
* File written
root@app01:/path/to/files# ll
total 960
drwxrwxrwx 2 root root 4096 Nov 8 18:53 ./
drwxr-xr-x 15 www-data www-data 4096 Nov 8 18:20 ../
-rw-r--r-- 1 www-data www-data 68650 Nov 8 18:45 61OUUC44G-L._SL1471_.jpg
-rw-r--r-- 1 www-data www-data 374177 Nov 8 18:45 accessibility2.jpg
-rw-r--r-- 1 www-data www-data 515919 Nov 8 18:45 Computer-Code.jpg
关于rackspace-cloud - 从RackSpace文件下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19821946/
Rackspace 云文件使用使用“容器”的扁平存储系统来存储文件。根据 Rackspace 的说法,每个容器的文件数量没有限制。 我的问题是每个容器是否有最佳/最有效的文件数量来优化写入/获取性能。
我正在做一个项目,用户可以在其中上传图像,例如个人资料图像或图像库的图像。现在它正在将所有图像上传到我的服务器。 现在,我想直接使用 php 脚本将所有这些图像上传到我的 rackspace 云文件。
每个人:在将此错误发布到 Stackoverflow 之前,我已经搜索过该错误,因此无需向我指出此问题:groups.google.com/forum/?fromgroups=#!topic/carr
我已经使用composer安装了PHP SDK。看来samples文件夹中有旧代码,导致它不适用于我。我想从RackSpace文件夹下载一些文件。以下是我的代码,没有任何帮助。 'XXXX',
所以我在 Rackspace Cloud Files 上有一些视频文件,但由于我使用 HTML5 函数 (.toDataURL()),“SECURITY_ERR: DOM Exception 18”不
我使用的是 rackspace,在上传文件时我无法为缩略图文件创建子目录或容器。我不上传的原因是因为我想将文件 url 保留为 {someUrl}/{fileName} 而对于他们的缩略图我想要 {s
这是一个关于 Rackspace 云文件的架构问题。我已经成功地将云文件功能(PHP/MySQL - 类/包)添加到我的一个项目(域),并且想以某种方式为其他项目(域/子域)提供这些文件(PDF 等)
我正在使用表单发布方法将一些文件发布到我在机架空间上的一个容器中。问题是,如果我先上传 pdf,然后一次性上传 png,它会尝试在 pdf 查看器中打开 png。检查后我才知道 png 的“Conte
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我在Rackspace的专用服务器中托管了3个域/项目。所有这些都是Laravel 4.0。*每个域都有一个虚拟主机,指向每个域的公用文件夹。 这是结构 htdocs/project1/app htd
我正在使用 Rackspace 的 Cloud Files 产品,我已经成功地将文件放入我的容器中,但是,在测试过程中我发现文件没有设置 Content-Type。 我到处寻找有关如何使用 Java
Rackspace 添加了在云数据库实例中创建用户时选择某些云服务器(作为主机)的功能。这允许仅从那些云服务器访问指定的用户。 所以我想知道 pyrax(用于 Rackspace API 的 pyth
我在尝试让 Rackspace Opencloud API 按预期工作时遇到问题(尤其是云文件)。 我一直在遵循这些指南: https://github.com/rackspace/php-openc
尝试获取在特定标签下注册到我们 RackSpace 帐户的所有服务器。 使用 RackSpace 的 OpenStack Python 绑定(bind),pyrax ,我们还没有找到一种方法来做到这一
用户可以在我的网站上上传头像。这可以经常改变安静。我需要一个不会更改的严格 url,因为 url 可以显示在网站的某些缓存部分。 我试图在我的 Rails 应用程序上设置以下雾属性来禁用缓存,但我没有
我正在使用 Rackspace 在文件容器中上传文件。请建议如何将文件上传到服务器并访问 URL 最佳答案 创建一个有效的 Rackspace 帐户 创建一个新容器来保存您需要保留的文件 public
尝试在 Rackspace 站点上使用 Perl cron 作业备份我们的数据库。 Rackspace 给出了一个例子: #!/bin/sh mysqldump -h DB_HOST -u DB_US
尝试在 Rackspace 站点上使用 Perl cron 作业备份我们的数据库。 Rackspace 给出了一个例子: #!/bin/sh mysqldump -h DB_HOST -u DB_US
我正在使用 Rackspace Client 帐户(没有 shell 访问权限,无法修改核心配置文件等),我需要找到一种方法将 MySQL 的 ft_min_word_len 从 3 减少到 2。这是
我正在尝试使用他们的 api 连接到 rackspace 并传递我的用户名和 api key ,但我收到此错误: The remote server returned an error: (401)
我是一名优秀的程序员,十分优秀!