joomla / archive
Joomla 归档包
3.0.2
2024-08-15 17:52 UTC
Requires
- php: ^8.1.0
- joomla/filesystem: ^3.0
Requires (Dev)
- joomla/test: ^3.0
- phan/phan: ^5.4.2
- phpstan/phpstan: ^1.10.7
- phpunit/phpunit: ^9.5.28
- squizlabs/php_codesniffer: ~3.7.2
This package is auto-updated.
Last update: 2024-09-17 09:49:18 UTC
README
归档包将智能加载指定归档类型的正确适配器。它知道如何正确处理以下归档类型
- zip
- tar | tgz | tbz2
- gz | gzip
- bz2 | bzip2
加载 t*
归档类型的文件将使用适当的适配器解压缩归档,然后通过 tar 提取。
需求
- PHP 8.1 或更高版本
- zlib 扩展以支持 GZip
- bz2 扩展以支持 BZip2
用法
$options = array('tmp_path' => '/tmp'); $archive = new Joomla\Archive\Archive($options) $archive->extract(__DIR__ . '/archive.zip', __DIR__ . '/destination');
覆盖适配器
如果您想使用自定义适配器进行提取,此包允许您覆盖默认设置。只需在创建适配器时实现 ExtractableInterface
,然后使用 setAdapter
方法进行覆盖。
class MyZipAdapter implements \Joomla\Archive\ExtractableInterface { public static function isSupported() { // Do you test return true; } public function extract($archive, $destination) { // Your code } } $archive = new Archive; // You need to pass the fully qualified class name. $archive->setAdapter('zip', '\\MyZipAdapter'); // This will use your $archive->extract('archive.zip', 'destination');
通过 Composer 安装
将 "joomla/archive": "~3.0"
添加到 composer.json 中的 require 块,然后运行 composer install
。
{ "require": { "joomla/archive": "~3.0" } }
或者,您可以直接在命令行中运行以下命令
composer require joomla/archive "~3.0"
如果要将测试源包含在内,请使用
composer require --prefer-source joomla/archive "~3.0"