我的用户可以通过编程方式将图像上传到 AWS S3 存储桶。但是使用相同的 php S3 类包含(其中包含put 案例以及下面的这个delete 案例)——他们不能删除文件:
case 'DELETE':
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
break;
所以我想知道是否有任何敏锐的眼睛可以看到我在脚本中缺少的东西。我没有收到任何错误消息。-谢谢
//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.';
}