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

时间:2016-08-07 21:45:56

标签: php amazon-web-services amazon-s3

我有工作代码,它返回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
}

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
       )

)

我无法访问日期密钥。

1 个答案:

答案 0 :(得分:9)

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

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

阅读here了解更多格式选项。

P.S。 $object['LastModified']->date无法使用,因为它不适合访问directly