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).
After a lot of searching around I found the simple answer to this question is NO.

Basically the best way to do this, as I have found out from Amazons own coding (their little uploading widget on the AWS S3 console) it is only really possible to get upload progress by sending to another server first which PHP can read for progress information.

This creates a 'pass-through' policy using your own app servers /tmp directory as the stepping stone. This seems to be the preferred method.