Я помещаю объект в свою корзину AWS S3, используя следующий код.
$temp = explode(".", $_FILES["file"]["name"]);
$_FILES["file"]["name"] = $newfilename = round(microtime(true)) . '.' . end($temp);
$filepath = $_FILES['file']['tmp_name'];
try {
$result = $this->Amazon->S3->putObject(array(
'Bucket' => 'mytest.sample',
'ACL' => 'authenticated-read',
'Key' => 'files/image/' . $id . '/' . $newfilename,
'ServerSideEncryption' => 'aws:kms',
'SourceFile' => $filepath,
'ContentType' => mime_content_type($filepath),
));
} catch (S3Exception $e) {
echo $e->getMessage() . "\n";
}
и работает нормально. файлы загружаются, но когда я пытаюсь удалить файл, я получаю пустой ответ.
Вот код, используемый для удаления объекта.
try {
$result = $this->Amazon->S3->deleteMatchingObjects(array(
'Bucket' => 'mytest.sample',
//'Key' => 'files/image/' . $id . '/' . $fileName['Attachment']['attachment'],
'Key' => 'files/image/45/1441026402.docx', //static path for checking.
'VersionId' => 'latest',
));
} catch (S3Exception $e) {
echo $e->getMessage() . "\n";
}
Я попробовал ниже метод тоже
try {
$result = $this->Amazon->S3->deleteObject(array(
'Bucket' => 'mytest.sample',
//'Key' => 'files/image/' . $id . '/' . $fileName['Attachment']['attachment'],
'Key' => 'files/image/45/1441026402.docx',
'VersionId' => 'latest',
));
} catch (S3Exception $e) {
echo $e->getMessage() . "\n";
}
Есть ли проблема с разрешением?
Задача ещё не решена.
Других решений пока нет …