1

我对使用哪个函数来显示位于 bucketname/plain.txt 位置的文本文件感到困惑。

有人可以说明我应该做什么吗?

<?php
?>
<html>
<head><title>PHP says hello</title></head>
<body>
<b>
<?php

$client = new Aws\S3\S3Client([/** options **/]);

// Register the stream wrapper from an S3Client object
$client->registerStreamWrapper();

// Download the body of the "key" object in the "bucket" bucket
$data = file_get_contents('s3://vetri/plain.txt');

// Open a stream in read-only mode
if ($stream = fopen('s3://vetri/plain.txt', 'r')) {
    // While the stream is still open
    while (!feof($stream)) {
        // Read 1024 bytes from the stream
        echo fread($stream, 1024);
    }
    // Be sure to close the stream resource when you're done with it
    fclose($stream);
}
?>
</b>
</body>
</html>

4

1 回答 1

2

这是使用 php SDK 从 S3 获取文本文件内容的简单代码

<?php

    // Include the SDK using the composer autoloader
    require '/Users/tn/vendor/autoload.php';

    $s3 = new Aws\S3\S3Client([
    'region'  => 'your region',
    'version' => 'latest',
    'credentials' => [
        'key'    => "Your Key Id",
        'secret' => "Your secret access key",
    ]
    ]);

    // Send a PutObject request and get the result object.
    $key = 'name of the file you want to read';

    $result = $s3->getObject([
        'Bucket' => 'name of the bucket',
        'Key'    => $key,
        'Body'   => 'this is the body!',
    ]);

    // Print the body of the result by indexing into the result object.
    echo result['Body'];
?>
于 2018-12-19T09:11:54.983 回答