joomla/archive

Joomla 归档包

3.0.2 2024-08-15 17:52 UTC

README

Latest Stable Version Total Downloads Latest Unstable Version License

归档包将智能加载指定归档类型的正确适配器。它知道如何正确处理以下归档类型

  • 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"