Как загрузить файл на сервер Amazon S3 через PHP? - PullRequest
1 голос
/ 02 сентября 2011

Я пытаюсь использовать следующий клиент 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.

...