Проблема с last_modified - Rackspace Cloud Files (PHP API)

Использование облачных файлов Rackspace в качестве репозитория резервных копий, но новое для их PHP API. Я хочу удалить файлы старше определенного возраста, но мне трудно вернуть дату last_modified с помощью API.

$container = $conn->get_container('tmp');
$files = $container->list_objects();
foreach ($files as $file) {
  echo $file;  // echo filename
  echo $file->last_modified();  // this syntax is incorrect
  }

person chrisrth    schedule 13.03.2012    source источник


Ответы (1)


list_objects возвращает массив строк, имен объектов. Вы также можете получить объекты PHP, которые позволят вам использовать ООП для выполнения действий с этими объектами. Таким образом, изменив как можно меньше вашего кода, мы можем преобразовать строки в объекты:

$container = $conn->get_container('tmp');
$files = $container->list_objects();
foreach ($files as $file) {
  echo $file;  // echo filename
  $file_obj = $container->get_object($file);
  echo $file_obj->last_modified; 
}

Немного быстрее, просто вместо этого получите массив объектов:

$container = $conn->get_container('tmp');
$files = $container->get_objects();
foreach ($files as $file) {
  echo $file->name;  // echo filename
  echo $file->last_modified;  
}

Обратите внимание, что код не тестировался, но должен приблизить вас к тому, что работает.

person Mike    schedule 05.04.2012