亚马逊s3从上传响应中获取对象信息

时间:2012-09-20 00:41:45

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

我正在使用PHP将图像上传到amazon s3。当我上传文件时,我想在我的数据库中存储有关它的信息,所以当我需要获取有关文件的信息(文件名,大小,类型)时,我会减少API请求

创建新对象:

    //initiate the class
    $s3 = new AmazonS3();

    $bucket = 'my_bucket';

    //upload the file           
    $response = $s3->create_object($bucket, $filename, array(
                    'fileUpload' => $filepath,
                    'acl' => AmazonS3::ACL_PUBLIC,
                    'contentType' => $file_type,
                    'storage'     => AmazonS3::STORAGE_REDUCED,
                    'headers'     => array( // raw headers
                          'Cache-Control' => 'max-age=315360000', 
                          'Expires' => gmdate("D, d M Y H:i:s T", strtotime("+5 years"))
                    )

    ));                 

    var_dump($response->isOK()); 

成功上传后,是否可以从$response变量中获取文件名,大小和文件类型,而无需提出新的GET请求?

2 个答案:

答案 0 :(得分:1)

这些值不在$response中,但您不需要它们。你知道你想知道的一切:

  • 文件名为$filename
  • 文件大小可由filesize($filepath)确定。
  • 文件类型为$file_type

答案 1 :(得分:0)

我可以使用$response

header访问返回的数组

例如,获取文件大小

$response->header['_info']['size_upload']