Reputation: 57
My users can programically upload images to the AWS S3 bucket fine. But using the same php S3 class include (which contains the put case as well as this delete case below) -- they can't delete the file:
case 'DELETE':
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
break;
So I'm wondering if any sharp eye out there can see what I'm missing in my scripts. I'm not getting any error messages. -thanks
//THIS WORKS
//include the S3 class
if (!class_exists('S3'))require_once('S3.php');
//GET keys
include_once "scripts/S3k.php";
//instantiate the class
$s3 = new S3(awsAccessKey, awsSecretKey);
//assigns file location var to get
$fileTempName = $DestinationFile;
//Assigns S3 path/file name
$fileName = $path.$user_id."/".$fileName;
//Move the file over to S3
if ($s3->putObjectFile($fileTempName, $mybucket, $fileName, S3::ACL_PUBLIC_READ)) {
echo " file uploaded";
}
//THIS doesn't WORKS
//include the S3 class
if (!class_exists('S3'))require('S3.php');
//get KEYS
include "scripts/S3k.php";
//instantiate the class
$s3 = new S3(awsAccessKey, awsSecretKey);
//Assigns S3 path/file name
$fileName = $path.$user_id."/".$image_link;
//Deletes the file in S3
if ($s3->deleteObject($mybucket, $fileName)) {
echo "Deleted file.";
}
//And this GET script doesn't work either.
$image_link = "1/Bowery_3_58x46app.jpg";
$pathS3 = "http://d21v2uajc20x0x.cloudfront.net/myGallerist/artWorkImages/";
//include the S3 class
if (!class_exists('S3'))require_once('S3.php');
include_once "scripts/S3k.php";
//instantiate the class
$s3 = new S3(awsAccessKey, awsSecretKey);
// Get the file from S3
if ($s3->getObject($mybucket, $pathS3.$image_link, "tempImage/".$image_link )) {
} else {
// Couldn't move the file over.
$msgToUser = 'No file was uploaded.';
}
Upvotes: 0
Views: 1603
Reputation: 10880
I can be wrong but seems like it could be an issue with the bucket name , in delete you are using a variable as the bucketname where as in put object you have hard coded the bucket name , can you please verify that the variable contains the correct bucket name?
Edit: Also you should try to echo the $fileName in both cases and make sure they are exactly the same.
Upvotes: 1