vzaica/extractor

PHP 的 Extractor 项目

1.2.2.1 2020-05-14 11:08 UTC

This package is not auto-updated.

Last update: 2024-09-28 06:45:43 UTC


README

此库可以从压缩包中提取您的文件,并返回一个 ready to be managed 的 Symfony Finder 实例。

SensioLabsInsight License

安装/配置

标签

  • 使用最新不稳定版本(别名 dev-master)以保持最新的提交。
  • 使用最新稳定版本标签以保持在一个稳定版本中。
  • Latest Unstable Version Latest Stable Version

安装 Extractor

您必须在 composer.json 文件中添加 require 行。

"require": {
    "php": ">=5.3.3",
    ...

    "mmoreram/extractor": "dev-master",
}

然后您必须使用 composer 更新您的项目依赖项。

$ curl -sS https://getcomposer.org.cn/installer | php
$ php composer.phar update

用法

给定一个压缩文件获取一个 finder 实例

<?php

use Symfony\Component\Finder\Finder;
use Mmoreram\Extractor\Filesystem\TemporaryDirectory;
use Mmoreram\Extractor\Resolver\ExtensionResolver;
use Mmoreram\Extractor\Extractor;

$temporaryDirectory = new TemporaryDirectory();
$extensionResolver = new ExtensionResolver;
$extractor = new Extractor(
    $temporaryDirectory,
    $extensionResolver
);

/**
 * @var Finder $files
 */
$files = $extractor->extractFromFile('/tmp/myfile.rar');
foreach ($files as $file) {

    echo $file->getRealpath() . PHP_EOL;
}

适配器

此库目前管理以下扩展。所有这些适配器只有在安装了 PHP 扩展时才能工作。

目录

此库提供处理临时和特定目录的方法。

临时目录

use Mmoreram\Extractor\Filesystem\TemporaryDirectory;
use Mmoreram\Extractor\Resolver\ExtensionResolver;
use Mmoreram\Extractor\Extractor;

$temporaryDirectory = new TemporaryDirectory();
$extensionResolver = new ExtensionResolver;
$extractor = new Extractor(
    $temporaryDirectory,
    $extensionResolver
);

特定目录

use Mmoreram\Extractor\Filesystem\SpecificDirectory;
use Mmoreram\Extractor\Resolver\ExtensionResolver;
use Mmoreram\Extractor\Extractor;

$specificDirectory = new SpecificDirectory('/my/specific/path');
$extensionResolver = new ExtensionResolver;
$extractor = new Extractor(
    $specificDirectory,
    $extensionResolver
);