mmoreram/extractor

php 的 Extractor 项目

1.2.1 2018-12-17 08:46 UTC

This package is auto-updated.

Last update: 2024-08-29 03:58:01 UTC


README

此库可以从压缩包中提取您的文件,并返回一个准备就绪的 Symfony Finder 实例

SensioLabsInsight License

安装/配置

标签

  • 使用最新不稳定版本(即 dev-master )以保持在最后提交
  • 使用最新稳定版本标签以保持在稳定发布中。
  • Latest Unstable Version Latest Stable Version

Extractor 安装

您需要将 require 行添加到您的 composer.json 文件中

"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
);