【问题标题】:AWS SDK for PHP - How to get creation date of a file适用于 PHP 的 AWS 开发工具包 - 如何获取文件的创建日期
【发布时间】:2016-08-09 11:53:32
【问题描述】:

我有返回 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
       )

)

我无法访问日期键。

【问题讨论】:

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


    【解决方案1】:

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

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

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

    附: $object['LastModified']->date 将不起作用,因为它不是为访问 directly 而设计的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-21
      • 1970-01-01
      • 2015-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-02
      • 1970-01-01
      相关资源
      最近更新 更多