如果文件已上传,如何检查 Rackspace?

How to check on Rackspace if the file is uploaded or not?

我正在使用 Rackspace PHP API,在那里我需要检查文件,如果它存在就做一些事情,如果不存在就做一些事情。

try {
  $file = $container->getObject($end_element);
  $fileExists = TRUE;
}
catch(Exception $e) {
  $fileExists = FALSE;
}
if ($fileExists) {
  // File is their, it needs to be rewrite/overwrite
  $file->setContent(fopen('sites/default/files/rackspace/' . $end_element, 'r+'));
  $file->update();
  // I'm getting this http://docs.rackspace.com/sdks/api/php/class-OpenCloud.ObjectStore.Resource.DataObject.html which I printted print_r($file->update());
}
else {
  // New file just to upload
  $container->uploadObject($end_element, fopen('sites/default/files/rackspace/' . $end_element, 'r+'), array());
}

要查看对象是否存在于远程容器中,请尝试使用 objectExists 方法,如下所示:

if ($container->objectExists('objectName.txt')) {
   // The object exists
} else {
   // The object doesn't exist
}

这将对该对象执行 HEAD 请求,为您将任何 404 失败响应包装在 try/catch 块中。


在查找对象的创建日期方面,API 只告诉您最后修改的日期。如果您在对象首次上传后未对其进行修改,则这将是创建日期。

要找出最后修改的日期时间,您需要运行:

$object = $container->getObject('objectName.txt');
$created = $object->getLastModified();