2016-08-07 12 views
1

Ich habe Arbeitscode, der alle Dateien unter s3 Eimer zurückgibt. Ich muss die heutigen hochgeladenen Dateien zur weiteren Verarbeitung bekommen.AWS SDK für PHP - Wie Erstellungsdatum einer Datei

-Code-Dateien zu erhalten:

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']) Ausgänge:

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 
     ) 

) 

ich nicht in der Lage bin Datum Schlüssel zuzugreifen.

Antwort

5

LastModified ist eine Instanz der Klasse Aws\Api\DateTimeResult, da DateTimeResult\DateTime Objekt erstreckt, verwenden Sie einfach format Methode, wie Sie normalerweise tun würde, wenn sie mit Standard-Datetime-Objekten zu arbeiten.

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

lesen here für mehr Formatierungsoptionen.

P.S. $object['LastModified']->date wird nicht funktionieren, da es nicht darauf ausgerichtet ist, auf directly zugegriffen werden.