2012-09-20 48 views
0

我使用PHP將圖片上傳到amazon s3。當我上傳文件我想存儲有關它的信息在我的數據庫,所以當我需要得到有關文件(文件名,大小,類型)信息亞馬遜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請求?

回答

1

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

  • 文件名是$filename
  • 文件大小可以通過filesize($filepath)確定。
  • 文件類型是$file_type
+0

是的,我有事先的值,但也許S3改變上載的東西(不知道發生的事情......)'$ response'實際上是一個數組,其中有很多從api返回的值。 – CyberJunkie

+0

您提到的任何值都不會在上傳時更改。 – duskwuff

0

我可以訪問使用header

例如從$response返回數組來獲取文件大小

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