我正在使用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();