Мне удалось загрузить файлы в корзину, используя приведенный ниже код из AWS PHP SDK. Проблема в том, что когда я пытаюсь загрузить файлы размером более 15 мб, скрипт выдает ошибку. В противном случае он работает так, как ожидалось. Любые идеи, что я делаю неправильно? Заранее спасибо.
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>";
Я получаю следующую ошибку при попытке загрузить большой файл размером более 15 МБ. Кроме того, это работает.
Предупреждение: fopen(): имя файла не может быть пустым в /Users/xxx/Code/xxx/wp-content/plugins/xxx/parts/part-upload_file.php в строке 37.
Строка 37 читает..
'Body' => new GuzzleHttp\Psr7\Stream(fopen($_FILES["fileToUpload"]["tmp_name"], 'r')),
Любая помощь/совет/подсказки будут оценены.