【问题标题】:PHP upload to AWS S3 produces wrong destination pathPHP 上传到 AWS S3 会产生错误的目标路径
【发布时间】:2018-08-08 12:08:01
【问题描述】:

我想使用 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/)之前先创建一个空目录。

截图:

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

【问题讨论】:

  • 用相对路径试试看$this->s3->putObject($this->s3->inputFile($tmp), 'dreamboks-assets-2017', 'test_example/' . basename($_FILES["userfile"]['tmp_name']), S3::ACL_PUBLIC_READ);
  • @ishegg 哦,我的错,它显然有效。该文件夹是在下一页创建的,我没有看到它。谢谢。
  • 添加了一个答案,以便可以关闭问题。

标签: php codeigniter amazon-web-services amazon-s3


【解决方案1】:

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

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

稍微改变了格式以强调变化

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    相关资源
    最近更新 更多