2016-08-07 3 views
1

У меня есть рабочий код, который возвращает все файлы под ведром s3. Мне нужно загрузить сегодняшние загруженные файлы для дальнейшей обработки.AWS SDK для PHP - Как получить дату создания файла

Код для получения файлов:

use Aws\S3\S3Client; 
$s3Client = S3Client::factory(array(
    'region' => 'us-east-1', 
    'version' => '2006-03-01', 
    'credentials' => array(
    'key' => 'XXXX', 
    'secret' => 'YYYYYYYY' 

) 
)); 

$iterator = $s3Client->getIterator('ListObjects', array(
    'Bucket' => 'mybucket',  
    'Prefix' => 'adityamusic', 
    'Suffix' => '.xlsx', 
    ), array(
    'limit'  => 999, 
    'page_size' => 100 
)); 

foreach ($iterator as $object) { 
    print_r($object['LastModified']); 
    print_r($object['LastModified']['date']); //this gives error 
} 

print_r($object['LastModified']) выходы как:

Array 
(
    [Key] => mymusic/ 
    [LastModified] => Aws\Api\DateTimeResult Object 
     (
      [date] => 2016-08-03 06:20:31 
      [timezone_type] => 2 
      [timezone] => Z 
     ) 

    [ETag] => "sadfasdf2342" 
    [Size] => 0 
    [StorageClass] => STANDARD 
    [Owner] => Array 
     (
      [DisplayName] => test 
      [ID] => asdfasdfasdf 
     ) 

) 

Я не в состоянии получить доступ ключа даты.

ответ

5

LastModified является экземпляром класса Aws\Api\DateTimeResult, поскольку DateTimeResult\DateTime расширяет объект, просто использовать format метод, как вы обычно делаете при работе со стандартными объектами DateTime.

echo $object['LastModified']->format(\DateTime::ISO8601)

Read here больше вариантов форматирования.

P.S. $object['LastModified']->date не будет работать, поскольку он не предназначен для доступа directly.

Смежные вопросы