pinimize/laravel-bz2-compresssion

一个用于Bzip2压缩的Laravel包。

v0.1.0 2024-09-01 16:41 UTC

This package is auto-updated.

Last update: 2024-09-04 09:41:39 UTC


README

Latest Version on Packagist Tests License

本包为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压缩和归档文档

重要说明

  1. Bzip2压缩算法不支持压缩级别。配置中的level参数对于Bzip2驱动程序被忽略。
  2. 此包要正常工作,服务器上必须安装Bzip2扩展。如果您使用的是托管主机服务,您可能需要联系您的托管提供商以安装它。

贡献

欢迎贡献!请随时提交拉取请求。

测试

使用以下命令运行测试:

composer test

变更日志

有关最近更改的更多信息,请参阅变更日志

致谢

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件