Я пытаюсь использовать следующий клиент REST для загрузки файлов в Amazon S3:
https://github.com/tpyo/amazon-s3-php-class
Но у меня проблемы с этим.
Через мой терминал я могу загружать файлы, например, с помощью следующей команды:
$cmd = "s3cmd put --acl-public --guess-mime-type " . $loc . " s3://censored/static/images/" . $filename;
На самом деле я не могу запустить это, используя exec или shell_exec, поэтому я использую вышеупомянутый клиент REST. Вот что я пытаюсь сделать, но, похоже, это не работает:
if ($s3->putObject($loc, "s3://censored/static/images/", $filename, S3::ACL_PUBLIC_READ)) {
echo "File Uploaded.";
} else {
echo "Failed to upload file.";
}
Вышесказанное всегда терпит неудачу, и я не уверен, почему. Я хотел бы думать, что это потому, что я не пишу строку каталога корзины правильно, потому что я могу успешно выполнить s3-> listBuckets (). $loc
- это местоположение на моем жестком диске файла, который я хочу загрузить на сервер S3. $filename
- это имя, которое я хочу назвать загруженным файлом на сервере s3.