我有工作代码,它返回 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
)
)
我无法访问日期 key 。
最佳答案
LastModified
是 Aws\Api\DateTimeResult
的一个实例类,自 DateTimeResult
扩展 \DateTime
对象,只需使用 format
方法与您通常在使用标准 DateTime 对象时所做的一样。echo $object['LastModified']->format(\DateTime::ISO8601)
阅读 here更多格式选项。
附言$object['LastModified']->date
将无法工作,因为它不是为访问而设计的 directly .
关于php - 适用于 PHP 的 AWS 开发工具包 - 如何获取文件的创建日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38818860/