以下のようなコードを書いているのですが、画像がS3にアップロードされません。
S3のURLは正常に出力されています。
詳しい方、ご教示ください。

//画像関連
                $file = date('YmdHis') . $_FILES['top_img']['name'];
                $img_tmp_name = $_FILES['top_img']['tmp_name'];
                move_uploaded_file($img_tmp_name, "img/" . $file);

                // Instantiate an Amazon S3 client.
                $s3 = new S3Client([
                    'version' => '2006-03-01',
                    'region'  => 'ap-northeast-1',
                    'credentials' => [
                        'key' => 'key',
                        'secret' => 'secret',
                    ],
                ]);

            try {
                $result = $s3->putObject([
                    'Bucket'       => 'bucket',
                    'Key'          => 'img/'.$file,
                'ContentType'  => 'image/jpeg',
                    'Body'         => fopen('test.php', 'r'),
                'StorageClass' => 'REDUCED_REDUNDANCY',
                    'ACL'          => 'public-read',
                ]);

                echo $result['ObjectURL'] . "\n";
            } catch (Aws\Exception\S3Exception $e) {
                echo "There was an error uploading the file.\n";
            }