天天看點

php s3 sdk,PHP Amazon SDK – s3 putObject和set Body

嗨,我正在嘗試用一個新的對象進入一個桶與這個代碼:

require_once(FCPATH.'s3/aws-autoloader.PHP');

use Aws\S3\S3Client;

class s3{

public $_secret_key ="********";

public $_access_key = "********";

public $_bucket = "tphotos-dev";

function connect(){

return S3Client::factory(array(

'key' => $this->_access_key,'secret' => $this->_secret_key,));

}

function deleteObject($prefix = false){

if($prefix){

$s3 = $this->connect();

return $s3->deleteMatchingObjects($this->_bucket,$prefix);

}

}

function putObject($file_name,$source_file){

$s3 = $this->connect();

$s3->putObject(array(

'Bucket' => (string)$this->_bucket,'Key' => $file_name,'SourceFile' => $source_file,'ACL' => 'public-read',));

return $s3->waitUntilObjectExists(array(

'Bucket' => $this->_bucket,'Key' => $file_name

));

}

}

?>

是以一旦我做例如:

$s3->putObject('myfilename.jpg',get_file_content("temp/image.jpg"));

它傳回錯誤:

Fatal error: Uncaught exception 'Aws\Common\Exception\InvalidArgumentException' with message 'You must specify a non-null value for the Body or SourceFile parameters.' in /Users/ok/Projects/s3/Aws/Common/Client/UploadBodyListener.PHP:91

任何線索?