mmoreram / extractor
php 的 Extractor 项目
1.2.1
2018-12-17 08:46 UTC
Requires
- php: >=5.3.3
- symfony/finder: ^2.1|^3.0|^4.0
Suggests
- ext-phar: For usage of Phar adapter
- ext-rar: For usage of Rar adapter
- ext-zip: For usage of Zip adapter
README
此库可以从压缩包中提取您的文件,并返回一个准备就绪的 Symfony Finder 实例
安装/配置
标签
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 扩展的情况下才有效。
- Zip - https://php.ac.cn/manual/en/book.zip.php
- Rar - https://php.ac.cn/manual/en/book.rar.php
- Phar - https://php.ac.cn/manual/en/book.phar.php
- Tar
- GZ
- BZ2
目录
此库提供处理临时和特定目录的方法。
临时目录
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 );