2015-04-15 2 views
0

Я как-то потерялся здесь, я новичок в aws, поэтому я установил aws-sdk-php в myproject, и я пытаюсь проверить загрузку; вот кусок кода сценария:Почему получение Acces Denied при загрузке файла с помощью aws-sdk-php?

require '.vendor/autoload.php'; 
use Aws\S3\S3Client; 
use Aws\S3\Exception\S3Exception; 

// Instantiate an S3 client 
$s3 = S3Client::factory(array(
    'credentials' => array(
     'key' => 'key ... ', 
     'secret' => 'secret key ... ', 
    ) 
)); 
$file_name = $_FILES['file']['tmp_name']; 
try { 
    $s3->putObject(array(
     'Bucket' => 'bucket_name', 
     'Key' => $_FILES['file']['name'], 
     'Body' => fopen($file_name, 'r'), 
     'ACL' => 'public-read', 
    )); 
    echo " upload succed !!"; 
} catch (S3Exception $e) { 
    echo "There was an error uploading the file.\n"; 
    echo $e->getMessage() . "\n"; 
} 

этот код работает отлично от местного теста, но при попытке сделать протестировать один и тот же сценарий в проекте в папке в s3; Я получаю эту ошибку:

There was an error uploading the file. Access Denied 

любая идея plz? спасибо.

+0

Вы проверили ваши разрешения? –

+0

спасибо, Как это проверить? потому что он не контролирует права доступа! я бы понял, откуда может быть ошибка .... – user3911183

ответ

0

Проблема была ограничение общественного ф. Однако сценарий чист и прав. спасибо.

0

Попробуйте создать экземпляр, как:

$s3 = S3Client::factory(array(
     'key' => 'key', 
     'secret' => 'secret', 
     'region' => 'eu-west-1' 
    )); 

использовать ваш регион

+0

Я уже создал его, это упоминается в вопросе .... – user3911183

+0

попробуйте установить в заводской массив без «учетных данных», посмотрите в моем примере – dwaskowski

+0

ok i ' Я попробую ... надеюсь, что это сработает. – user3911183

Смежные вопросы