2017-03-17 5 views
1

Ich konnte Dateien mit dem folgenden Code aus dem AWS PHP SDK in meinen Bucket hochladen. Das Problem ist, wenn ich versuche, Dateien hochzuladen, die größer als 15 MB sind, gibt das Skript einen Fehler aus. Ansonsten funktioniert es wie erwartet. Irgendwelche Ideen, was ich falsch mache? Danke im Voraus.AWS PHP Upload kann keine Dateien hochladen, die größer als 15 MB sind.

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>"; 

Ich bekomme den folgenden Fehler beim Upload einer großen Datei größer als 15 MB. Ansonsten funktioniert es.

Warning: fopen(): Dateiname kann in /Users/xxx/Code/xxx/wp-content/plugins/xxx/parts/part-upload_file.php auf Linie nicht leer sein 37.

Zeile 37 liest ..

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

Jede Hilfe/Beratung/Tipps würden wir uns freuen.

+0

Ich habe auch versucht den PHP Multipart Uploader und der Javascript Client Seite Uploader und ich bekomme das gleiche Ergebnis. Es gibt entweder Fehler oder Zeitüberschreitungen, wenn die Dateien 10-15 MB groß sind. Hilfe!! –

+0

Werfen Sie einen Blick auf diese: http://StackOverflow.com/Questions/2184513/PH-change-the-Maximum-Upload-File-Size – sowi

Antwort

0

Ich vermute, dass Ihr Server eine Begrenzung für die Größe der Datei hat, die hochgeladen werden kann. Überprüfen Sie mit phpinfo() und suchen Sie nach post_max_size und upload_max_filesize. Angenommen, das ist das Problem, dann können Sie das Limit erhöhen.

+0

Ja, das mit dem oben genannten Code arbeitete, aber es funktioniert immer noch für den Multipart-Uploader und das JavaScript sdk –

+0

Für das Javascript SDK, stellen Sie sicher, dass Sie ETag zu hinzufügen –

Verwandte Themen