AWS PHP上传无法上传大于15mb的文件

时间:2017-03-17 20:33:09

标签: php amazon-s3 sdk upload

我已经能够使用AWS PHP SDK中的以下代码将文件上传到我的存储桶。问题是当我尝试上传大于15 MB的文件时,脚本会抛出错误。否则它按预期工作。我有什么想法我做错了吗?提前谢谢。

require $dir . 'aws/aws-autoloader.php';
    $s3Client = new Aws\S3\S3Client(array(
    'version' => 'latest',
    'region' => 'us-west-2',
    'credentials' => array(
        'key' => 'KEY',
        'secret' => 'SECRET',
    )
));
$result = $s3Client->putObject(array(
    'Bucket' => 'eot-resources',
    'Key' => $org_id."_".$_FILES["fileToUpload"]["name"],
    'SourceFile' => $_FILES["fileToUpload"]["tmp_name"],
    'Body'        => new GuzzleHttp\Psr7\Stream(fopen($_FILES["fileToUpload"]["tmp_name"], 'r')),
    'ACL' => 'public-read',
    'StorageClass' => 'REDUCED_REDUNDANCY',
    'Metadata' => array(
        'Foo' => 'abc',
        'Baz' => '123'
    )
));
echo "URL: ".$result['ObjectURL'] . "<br>";

尝试上传大于15mb的大文件时出现以下错误。除此之外它还有效。

警告:fopen():第37行的/Users/xxx/Code/xxx/wp-content/plugins/xxx/parts/part-upload_file.php中的文件名不能为空。

第37行读.. ..

'Body'        => new GuzzleHttp\Psr7\Stream(fopen($_FILES["fileToUpload"]["tmp_name"], 'r')),

任何帮助/建议/提示都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我怀疑您的服务器对可以上传的文件大小有限制。使用phpinfo()检查并查找post_max_size和upload_max_filesize。假设这是问题,那么你可以增加限制。