40 lines
824 B
ReStructuredText
Raw Normal View History

2023-07-15 10:16:32 +08:00
Stream Output
===============
Stream to S3 Bucket
---------------
.. code-block:: php
2023-08-09 14:43:30 +08:00
2023-07-15 10:16:32 +08:00
use Aws\S3\S3Client;
use Aws\Credentials\CredentialProvider;
use ZipStream\ZipStream;
$bucket = 'your bucket name';
$client = new S3Client([
'region' => 'your region',
'version' => 'latest',
'bucketName' => $bucket,
'credentials' => CredentialProvider::defaultProvider(),
]);
$client->registerStreamWrapper();
$zipFile = fopen("s3://$bucket/example.zip", 'w');
2023-08-09 14:43:30 +08:00
$zip = new ZipStream(
enableZip64: false,
outputStream: $zipFile,
);
2023-07-15 10:16:32 +08:00
2023-08-09 14:43:30 +08:00
$zip->addFile(
fileName: 'file1.txt',
data: 'File1 data',
);
$zip->addFile(
fileName: 'file2.txt',
data: 'File2 data',
);
2023-07-15 10:16:32 +08:00
$zip->finish();
2023-08-09 14:43:30 +08:00
fclose($zipFile);