हाय मैं इस कोड के साथ एक बाल्टी में एक नई वस्तु डाल कोशिश कर रहा हूँ:पीएचपी अमेज़न एसडीके - putObject S3 और शारीरिक
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
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
किसी भी सुराग?
मेरे मामले में यह था, क्योंकि मैं ** upload_max_filesize पर एक सीमा थी में बदलने के लिए * * और ** post_max_size ** क्योंकि $ source_file नहीं आती है (शून्य है), सर्वर $ source_file> upload_max_filesize या post_max_size मान्य करता है। –