Deb*_*ash 2 amazon-s3 amazon-web-services
我尝试通过以下代码从 s3 对象读取内容。
$content = $s3Client->getObject(
array(
'Bucket'=> $bucketName,
'Key' => $pathToObject,
'ResponseContentType' => 'text/plain',
)
);
Run Code Online (Sandbox Code Playgroud)
我得到了以下回应
GuzzleHttp\Psr7\Stream 对象 ( [stream:GuzzleHttp\Psr7\Stream:private] => 资源 id #87 [size:GuzzleHttp\Psr7\Stream:private] => [seekable:GuzzleHttp\Psr7\Stream:private] => 1 [可读:GuzzleHttp\Psr7\Stream:private] => 1 [可写:GuzzleHttp\Psr7\Stream:private] => 1 [uri:GuzzleHttp\Psr7\Stream:private] => php://temp [customMetadata: GuzzleHttp\Psr7\Stream:private] => 数组 ( )
)
任何帮助将不胜感激阅读 S3 中的对象内容。
实际上它返回 Psr7\Stream 对象。
所以如果我们需要从 PSR Stream 中获取内容,我们必须从对象中调用 getContents() 方法。
<?php
$s3Client = new Aws\S3\S3Client(array(
'stats' => TRUE,
'http' => array(
'verify' => FALSE,
'connect_timeout' => 30
),
'version' => 'latest'
));
$result = $s3Client->getObject(array(
'Key' => $filename,
'Bucket' => $bucketName
));
echo $result['Body']->getContents();
//Also you can get metadata like this print_r($result['Body']->getMetadata());
Run Code Online (Sandbox Code Playgroud)
希望这对实际使用 SDK 版本 3 的人有所帮助。
这里的规范https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-GuzzleHttp.Psr7.Stream.html
| 归档时间: |
|
| 查看次数: |
1638 次 |
| 最近记录: |