Amazon Simple Storage Service
开发人员指南 (API Version 2006-03-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

使用 适用于 PHP 的 AWS 开发工具包 上传对象

此主题将指导您使用 适用于 PHP 的 AWS 开发工具包 中的类上传最大 5 GB 的对象。对于大型文件,您必须使用分段上传 API。有关更多信息,请参阅 使用分段上传 API 上传对象

注意

本主题假定您已按照 使用适用于 PHP 的 AWS 开发工具包和运行 PHP 示例 的说明执行操作,并正确安装了 适用于 PHP 的 AWS 开发工具包。

上传对象

1

使用 Aws\S3\S3Clientfactory() 方法创建 Amazon S3 客户端的实例。

2

执行 Aws\S3\S3Client::putObject() 方法。必须在 array 参数的必需键 (BucketKey) 中提供存储桶名称和键名称。

如果要上传文件,您可以通过使用 SourceFile 键添加数组参数来指定文件名。您也可以使用数组参数提供可选的对象元数据。

以下 PHP 代码示例演示如何通过将 SourceFile 键中指定的文件上传到 putObject 方法的数组参数中来创建对象。

Copy
use Aws\S3\S3Client; $bucket = '*** Your Bucket Name ***'; $keyname = '*** Your Object Key ***'; // $filepath should be absolute path to a file on disk $filepath = '*** Your File Path ***'; // Instantiate the client. $s3 = S3Client::factory(); // Upload a file. $result = $s3->putObject(array( 'Bucket' => $bucket, 'Key' => $keyname, 'SourceFile' => $filepath, 'ContentType' => 'text/plain', 'ACL' => 'public-read', 'StorageClass' => 'REDUCED_REDUNDANCY', 'Metadata' => array( 'param1' => 'value 1', 'param2' => 'value 2' ) )); echo $result['ObjectURL'];

您可以通过使用 Body 键指定数组参数,而不是指定文件名来提供内联对象数据,如以下 PHP 代码示例所示。

Copy
use Aws\S3\S3Client; $bucket = '*** Your Bucket Name ***'; $keyname = '*** Your Object Key ***'; // Instantiate the client. $s3 = S3Client::factory(); // Upload data. $result = $s3->putObject(array( 'Bucket' => $bucket, 'Key' => $keyname, 'Body' => 'Hello, world!' )); echo $result['ObjectURL'];

例 通过上传数据在 Amazon S3 存储桶中创建对象

通过使用 putObject() 方法来上传数据,以下 PHP 示例在指定存储桶中创建对象。有关运行本指南中的 PHP 示例的信息,请参阅运行 PHP 示例

Copy
<?php // Include the AWS SDK using the Composer autoloader. require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\S3\Exception\S3Exception; $bucket = '*** Your Bucket Name ***'; $keyname = '*** Your Object Key ***'; // Instantiate the client. $s3 = S3Client::factory(); try { // Upload data. $result = $s3->putObject(array( 'Bucket' => $bucket, 'Key' => $keyname, 'Body' => 'Hello, world!', 'ACL' => 'public-read' )); // Print the URL to the object. echo $result['ObjectURL'] . "\n"; } catch (S3Exception $e) { echo $e->getMessage() . "\n"; }

相关资源

本页内容: