从.phar存档中提取文件

时间:2012-10-21 11:29:13

标签: php phar

对于phar文件,我完全错过了一些东西。我正在安装一个需要phpunit,pdepend和其他依赖项的项目。我把它们作为.phar文件获取。但是,我无法使用命令行工具(php命令)从中提取文件。我搜索了问题,我发现没有什么能真正回答这个问题。有人可以帮忙吗?

7 个答案:

答案 0 :(得分:79)

扩展@ pozs的答案,你可以在一个简单的单行中使用PharData->extractTo

php -r '$phar = new Phar("phar-file.phar"); $phar->extractTo("./directory");'

答案 1 :(得分:52)

不确定它是否是新的,但在PHP 5.4.16下可行:

phar extract -f %some phar file%

相对于您当前的工作目录提取phar。

答案 2 :(得分:22)

是的,这个库可以做到:https://github.com/koto/phar-util

  

phar-extract library.phar output-directory

答案 3 :(得分:10)

PhpStorm IDE可用于查看phar档案的内容。

答案 4 :(得分:6)

此站点可以轻松地将.phar文件转换为.zip文件

http://unphar.com

试试。,,,

答案 5 :(得分:4)

如果您只想使用它,则应包括phar:///path/to/myphar.phar/file.php

但是如果你真的想要解压缩它,请参阅PharData类 - 命令行中没有已知(内部)提取,但你可以为此编写脚本。

答案 6 :(得分:0)

Php还具有提取phar档案的功能,但文件保持当前压缩。要正确提取存档,必须先将其转换为未加密的表单,然后再将其解压缩。

<?php
$phar = new Phar('Someclass.phar');
$phar2 = $phar->convertToExecutable (Phar::TAR,Phar::NONE); //convert to an uncompressed tar archive
$phar2->extractTo('/some/path/'); // extract all files

这将为您提供所有未压缩的文件!