pinimize / laravel-bz2-compresssion
一个用于Bzip2压缩的Laravel包。
v0.1.0
2024-09-01 16:41 UTC
Requires
- php: ^8.2
- ext-bz2: *
- ext-fileinfo: *
- pinimize/laravel-compression-and-archive: ^0.2
Requires (Dev)
- driftingly/rector-laravel: ^1.2.1
- guzzlehttp/guzzle: ^7.5
- laravel/pint: ^1.17
- orchestra/testbench: ^9.1.5
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^10.5|^11.0
- symfony/var-dumper: ^7.0
This package is auto-updated.
Last update: 2024-09-04 09:41:39 UTC
README
本包为Laravel的Pinimize压缩和归档包提供Bzip2压缩支持。
要求
- PHP 8.2或更高版本
- Laravel 11或更高版本
- 必须安装并启用PHP的
ext-bz2
扩展
安装
首先,确保已经安装了Bzip2 PHP扩展。您可以通过运行以下命令来检查:
php -m | grep bz2
如果您在输出中看不到 'bz2',则需要安装该扩展才能继续。
Bzip2扩展安装后,您可以通过Composer安装此包
composer require pinimize/laravel-bz2-compresssion
先决条件
此包是Pinimize压缩和归档包的扩展。主Pinimize包将自动作为此包的依赖项安装。
配置
安装后,您需要将Bzip2驱动配置添加到您的config/pinimize.php
文件中。如果您还没有发布主配置文件,可以通过运行以下命令来完成:
php artisan vendor:publish --provider="Pinimize\PinimizeServiceProvider" --tag="config"
将以下内容添加到drivers
数组中
'bz2' => [ 'disk' => env('COMPRESSION_DISK', null), ],
您的完整压缩配置应类似于以下内容
'compression' => [ 'default' => env('COMPRESSION_DRIVER', 'gzip'), 'mixin' => env('COMPRESSION_REGISTER_MIXIN', true), 'drivers' => [ ... // Other drivers 'bz2' => [ 'disk' => env('COMPRESSION_DISK', null), ], ], ],
使用方法
配置完成后,您可以使用Bzip2驱动程序,就像在Pinimize中使用其他压缩驱动程序一样。Bzip2驱动程序完全支持主Pinimize包中的所有方法。例如
use Illuminate\Support\Str; use Illuminate\Support\Facades\Storage; use Pinimize\Facades\Compression; use Pinimize\Facades\Decompression; // When you have made bz2 the default driver in your configuration: $compressedStringZlib = Str::compress($originalString); $decompressedStringGzip = Str::decompress($compressedStringGzip); // By specifying the driver: $compressedStringZlib = Str::compress($originalString, 'bz2'); $decompressedStringGzip = Str::decompress($compressedStringGzip, 'bz2'); // Or with the Storage facade: Storage::compress('/path/to/original.json', '/path/to/compressed.json.bz2'); Storage::decompress('/path/to/compressed.json.bz2', '/path/to/decompressed.json'); // Compress a string using Bzip2 $compressed = Compression::driver('bz2')->string('Hello, World!'); // Default driver $compressed = Compression::string('Hello, World!'); Compression::put('path/to/compressed.csv.bz2', '/path/to/original.csv');
有关更详细的使用说明和完整方法列表,请参阅Pinimize压缩和归档文档。
重要说明
- Bzip2压缩算法不支持压缩级别。配置中的
level
参数对于Bzip2驱动程序被忽略。 - 此包要正常工作,服务器上必须安装Bzip2扩展。如果您使用的是托管主机服务,您可能需要联系您的托管提供商以安装它。
贡献
欢迎贡献!请随时提交拉取请求。
测试
使用以下命令运行测试:
composer test
变更日志
有关最近更改的更多信息,请参阅变更日志。
致谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。