使用php将文件上载到aws s3 bucket时出错

使用php将文件上载到aws s3 bucket时出错,php,file,amazon-web-services,amazon-s3,upload,Php,File,Amazon Web Services,Amazon S3,Upload,但在《邮递员》中,它返回了这个 if (isset($_FILES['ImageOneAdd'])) { $ImageOneAdd = uploadS3('testbucket','image',$_FILES['ImageOneAdd']); } 我不知道为什么会出现这种问题 我只是用aws s3上传php API 如果有人看了这个代码,有什么错误,请帮助我 是的,我查过这个密码 { "status": false, "error": {

但在《邮递员》中,它返回了这个

if (isset($_FILES['ImageOneAdd'])) {

            $ImageOneAdd = uploadS3('testbucket','image',$_FILES['ImageOneAdd']);

        }
我不知道为什么会出现这种问题

我只是用aws s3上传php API

如果有人看了这个代码,有什么错误,请帮助我


是的,我查过这个密码

{
  "status": false,
  "error": {
    "classname": "InvalidArgumentException",
    "message": "Found 1 error while validating the input provided for the PutObject operation:\n[Body] must be an fopen resource, a GuzzleHttp\\Stream\\StreamInterface object, or something that can be cast to a string. Found bool(false)"
  }
}
但它会发生错误

try {

            $result = $GLOBALS['s3']->putObject([
                'Bucket' => $bucket,
                'Key' => "{$dir}/{$file_name}",
                'SourceFile' => $file_path,
                'ACL' => 'public-read']);
            $save_path = $result['ObjectURL'];
        } catch (S3Exception $e) {
            // return null;
        }

尝试使用以下代码上载文件,而不是读取文件

{
  "status": false,
  "error": {
    "classname": "RuntimeException",
    "message": "Unable to open ./files/40c0a29b0599204c147745116554af59.jpeg using mode r: fopen(./files/40c0a29b0599204c147745116554af59.jpeg): failed to open stream: No such file or directory"
  }
}

@Polaris。请尝试从目录而不是输入文件上载图像。这样您就可以检查直接上载是否存在问题。@iCoders我不明白您的意思是从目录上载图像是文件路径>尝试从上载目录而不是表单输入文件上载一幅图像,以便您可以检查是否有效not@iCoders我尝试上传图片从目录中读取文件,但不起作用。除了读取文件,请尝试使用S3的文件上载功能<代码>'SourceFile'=>$pathToFile,()谢谢,但是。。我更改了代码,但我发现该文件在给定路径上不可用。。。这就是为什么会发生这种错误。使用move_Upload_file后,该文件必须在给定路径上可用。您的意思是$file_path是表示绝对路径的路径吗?我开发了这个应用程序,我希望当我发布文件路径时,函数uploadS3会上传文件。是的,同样的事情
{
  "status": false,
  "error": {
    "classname": "RuntimeException",
    "message": "Unable to open ./files/40c0a29b0599204c147745116554af59.jpeg using mode r: fopen(./files/40c0a29b0599204c147745116554af59.jpeg): failed to open stream: No such file or directory"
  }
}
    $result = $GLOBALS['s3']->putObject(array(
        'Bucket'     => $bucket,
        'Key'        => "{$dir}/{$file_name}",
        'SourceFile' => $file_path
    ));