2013-02-02 138 views

回答

4

使用official AWS SDK for PHP v2,你可以这样做以下:

<?php 

require 'vendor/autoload.php'; 

use Aws\Common\Aws; 

// Instantiate an S3 client 
$s3 = Aws::factory('/path/to/config.php')->get('s3'); 

$objects = $s3->getIterator('ListObjects', array(
    'Bucket' => $bucket 
)); 

foreach ($objects as $object) { 
    echo $bucket['Name'] . '/' . $object['Key'] . PHP_EOL; 
} 
1
  1. 它的工作对我很好,只是MaxKeys被忽略。
  2. 使用上述方法和下面的方法有什么区别。尽管我无法获得$result中的数组元素。

    use Aws\Common\Aws; 
    use Aws\S3\S3Client; 
    
    // Prepare S3 Client to speak with AWS 
    $s3client; 
    $s3client = S3Client::factory(array(
        'key' => '', 
        'secret' => '', 
        'region' => Region::US_EAST_1 
    )); 
    
    // List objects from a bucket 
    $result = $s3client->listObjects(array(
        'Bucket' => $aws_bucket, 
        'MaxKeys' => 25, 
        'Marker' => 'docs/' 
    )); 
    
    $objects = $result->getIterator(); 
    
    foreach ($objects as $wo) 
    { 
        // Prints junk 
        echo $wo['Key'] . ' - ' . $wo['Size'] . PHP_EOL; 
    } 
    
相关问题