Question: I'd like to get the following layout:

```
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]
[ ][ ][ ][ ][ ][ ]

```

where each `[ ]` should be at most 300x150px, but scale down to the
bounding box as needed, conserving aspect ratio.

```
.field {
    width: 16%;
}

.field .placeholder{
    float: left;
    width: 300px;
    height: 150px;
}

```

I tried adding a placeholder div inside the divs, but that didn't
really help, it gives me something akin to

```
[ ]
[ ]
[ ]
...

```

Answer: 
**YES**, it is possible in AWS PHP SDK v3.

```
$client = new S3Client(/* config */);

$result = $client->putObject([
    'Bucket'     => 'bucket-name',
    'Key'        => 'bucket-name/file.ext',
    'SourceFile' => 'local-file.ext',
    'ContentType' => 'application/pdf',
    'params' => [
            '@http' => [
                'progress' => function ($downloadTotalSize, $downloadSizeSoFar, $uploadTotalSize, $uploadSizeSoFar) {
                    printf(
                        "%s of %s downloaded, %s of %s uploaded.\n",
                        $downloadSizeSoFar,
                        $downloadTotalSize,
                        $uploadSizeSoFar,
                        $uploadTotalSize
                    );
                }
            ]
    ]
]);

```

This is explained in the AWS docs - [S3 Config section](https://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/configuration.html#progress). It works by exposing GuzzleHttp's `progress` property-callable, as explained in [this SO answer](https://stackoverflow.com/a/34923682/1325575).
Yes you can via multipart uploading: <http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMPphpAPI.html>

Multipart uploading is a three-step process: You initiate the upload, you upload the object parts, and after you have uploaded all the parts, you complete the multipart upload. Upon receiving the complete multipart upload request, Amazon S3 constructs the object from the uploaded parts, and you can then access the object just as you would any other object in your bucket.

<http://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html>

I will be doing this personally very soon but this is what you need to start.