适用于PHP的AWS开发工具包 - 如何获取文件的创建日期

Tus*_*rav 1 php amazon-s3 amazon-web-services

我有工作代码,它返回s3存储桶下的所有文件.我必须得到今天上传的文件以便进一步处理.

获取文件的代码:

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
}
Run Code Online (Sandbox Code Playgroud)

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
       )

)
Run Code Online (Sandbox Code Playgroud)

我无法访问日期密钥.

b.b*_*4rd 14

LastModified是一个Aws\Api\DateTimeResult类的实例,因为 DateTimeResult扩展了\DateTime对象,只需format像使用标准DateTime对象时一样使用方法.

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

请阅读此处了解更多格式选项.

PS $object['LastModified']->date无法正常工作,因为它不是为了直接访问而设计的.