PHP上传到AWS S3会产生错误的目标路径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP上传到AWS S3会产生错误的目标路径相关的知识,希望对你有一定的参考价值。

我想使用php将图像文件上传到我的S3存储。我使用这个帮助库:https://github.com/psugand/CodeIgniter-S3

这是我的PHP代码:

$this->s3->putObject($this->s3->inputFile($tmp), 'dreamboks-assets-2017', '/test_example/' . basename($_FILES["userfile"]['tmp_name']), S3::ACL_PUBLIC_READ);

问题是S3总是在我的欲望目录(test_example /)之前创建一个空目录。

屏幕截图:Screenshot S3

如何避免不必要的空目录?我的目标路径参数有问题吗?

答案

您需要使用相对路径。您正在使用的API包装器可能被领先的/抛弃了。所以像这样使用它:

$this->s3->putObject(
    $this->s3->inputFile($tmp), 
    'dreamboks-assets-2017', 
    'test_example/' . basename($_FILES["userfile"]['tmp_name']), // relative path
    S3::ACL_PUBLIC_READ
);

稍微更改了格式以强调更改

以上是关于PHP上传到AWS S3会产生错误的目标路径的主要内容,如果未能解决你的问题,请参考以下文章

百度的Ueditor(php)上传到aws s3存储方案

百度的Ueditor(php)上传到aws s3存储方案

我如何通过AWS SNS设置有关上传事件的AWS S3?

AWS S3 通过预签名 URL 上传返回 400 错误请求

通过使用 AWS-SDK PHP 生成的预签名帖子拒绝 AWS S3 上传访问

通过使用 AWS-SDK PHP 生成的预签名帖子拒绝 AWS S3 上传访问