putObject($input, $options['bucket'], $uri, $aclPrivilege); $downloadURL = $s3->getAuthenticatedURL($options['bucket'], $uri, null, $options['ssl']); $downloadedData = @file_get_contents($downloadURL); try { $s3->deleteObject($options['bucket'], $uri); } catch (\Exception $e) { // Ignore deletion errors } if ($downloadedData === false) { throw new RuntimeException("Failed to download from signed URL ‘{$downloadURL}′"); } self::assert(self::areStringsEqual($tempData, $downloadedData), "Wrong data received from signed URL ‘{$downloadURL}′"); return true; } }