php使用phar进行压缩/解压

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php使用phar进行压缩/解压相关的知识,希望对你有一定的参考价值。

  1. 修改配置文件:
    vim /usr/local/php/etc/php.ini
    [Phar]
    phar.readonly  =  Off
  2. 压缩:
    a. 创建压缩脚本:
    vim compress.php
    <?php
    $exts = array(
            ‘*‘,
        );
    $dir = __DIR__;
    $file = ‘test.phar‘;
    $phar = new Phar(__DIR__ . ‘/‘ . $file, FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::KEY_AS_FILENAME, $file);
    $phar->startBuffering();
    foreach ($exts as $ext) {
    $phar->buildFromDirectory($dir, ‘/.‘ . $ext . ‘$/‘);
    }
    $phar->delete(‘build.php‘);
    $phar->setStub($phar->createDefaultStub(‘index.php‘));
    $phar->stopBuffering();
    echo "打包完成".PHP_EOL;

    b. 执行压缩脚本:

    php  /home/lee/php/compress.php

    技术分享图片
    c. 查看压缩包:

    ll  /home/lee/php

    技术分享图片

  3. 解压:
    a. 创建解压脚本:
    vim /home/lee/php/depress.php
    <?php
    define(‘ROOT‘,__DIR__);
    $dir = ROOT.‘/extract‘;
    if(!is_dir($dir)){
    @mkdir($dir);
    }
    $phar = new Phar(ROOT.‘/test.phar‘);
    $phar->extractTo($dir,null,true);
    echo "解压完成".PHP_EOL;

    b. 执行解压脚本:

    php  /home/lee/php/depress.php

    技术分享图片
    c. 查看解压文件:

    ll  /home/lee/php/extract

    技术分享图片

以上是关于php使用phar进行压缩/解压的主要内容,如果未能解决你的问题,请参考以下文章

使用Phar来打包发布PHP程序

PHP中phar包的使用

PAT 1078. 字符串压缩与解压

1078. 字符串压缩与解压 (20)

PHP Phar反序列化总结

PHP的rar解压读取扩展包学习