This is my first PHP project, so I really don't know PHP at all.
What I'm trying to do is upload a file to an S3 bucket using the PHP S3 class. A sample code snippet worked yesterday, but when I started working with it again today, almost the same code stopped working.
Now I just get the following error returned by putObject function:
Warning: S3::putObject(): RequestTimeTooSkewed The difference between the request time and the current time is too large. in /vagrant/LifeInYourWay/S3.php on line 222
I read a few places where server time might cause an error, so I changed my server time to America / New_York, but still get the same thing.
The PHP code I have is:
if(!class_exists('S3')) require_once('S3.php'); // AWS access if(!defined('awsAccessKey')) define('awsAccessKey', '******'); if(!defined('awsSecretKey')) define('awsSecretKey', '******'); $s3 = new S3(awsAccessKey, awsSecretKey); $imageName = $_FILES['imageFile']['name']; $imageTempName = $_FILES['imageFile']['tmp_name']; $imageLink = $_POST['imageLink']; if(!strlen($imageLink) || $imageLink == 'http://'){ //create a new bucket $s3->putBucket("widget-images", S3::ACL_PUBLIC_READ); //move the file $put = $s3->putObject($s3->inputFile($imageTempName), "widget-images", $imageName, S3::ACL_PUBLIC_READ); if($put){ var_dump($put); $imageUploaded = true; }else{ $imageUploaded = false; } echo($imageUploaded); }else $image = $imageLink;
php amazon-s3 amazon-web-services
Dave long
source share