我已经能够使用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')),
任何帮助/建议/提示都将不胜感激。
答案 0 :(得分:0)
我怀疑您的服务器对可以上传的文件大小有限制。使用phpinfo()检查并查找post_max_size和upload_max_filesize。假设这是问题,那么你可以增加限制。