cyberdummy/gzstream

为guzzle和s3提供gzip文件流

1.0.0 2022-06-24 16:28 UTC

This package is not auto-updated.

Last update: 2024-09-14 02:58:21 UTC


README

为guzzle和S3流提供额外的流包装器,以便您可以读取和写入gzip文件。

使用Composer安装

composer require cyberdummy/gzstream

使用方法

在guzzle中使用时,将新装饰器包装在body流中。

use Cyberdummy\GzStream\GzStreamGuzzle;

$newBodyStream = new GzStreamGuzzle($psr7BodyStream);

使用S3流包装器的使用方法。

use Cyberdummy\GzStream\GzS3Wrapper;

$s3Client = new Aws\S3\S3Client([
    'version'     => 'latest'
]);

# Register the wrapper as "s3gz"
GzS3Wrapper::register($s3Client, 's3gz');

# Stream a read
$stream = fopen('s3gz://somebucket/somegzippedfile.txt.gz', 'r');
$line = fgets($stream, 1024);

# Stream a write
$stream = fopen('s3gz://somebucket/somegzippedfile.txt.gz', 'w');
fwrite($stream, "Something to compress");
fclose($stream);