2016-08-07 30 views
1

s3バケットの下にあるすべてのファイルを返す作業コードがあります。私は今日のアップロードされたファイルをさらに処理する必要があります。PHP用AWS SDK - ファイルの作成日の取得方法

コードは、ファイルを取得します

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 
     ) 

) 

DateTimeResultはちょうど標準のDateTimeオブジェクトを操作するときに通常行うようにformat方法を使用し、\DateTimeオブジェクトを拡張するので

答えて

5

LastModifiedは、Aws\Api\DateTimeResultクラスのインスタンスです。

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

読むより多くの書式設定オプションについてhere

P.S. $object['LastModified']->dateは、アクセスするように設計されていないため、動作しません。directly

関連する問題