<?php

$fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.zip';
echo "=================== new PharData() ==================\n";
$phar = new PharData($fname);
$phar['a'] = 'a';
$phar['b'] = 'b';
$phar['c'] = 'c';
var_dump($phar->isFileFormat(Phar::PHAR));
var_dump($phar->isFileFormat(Phar::TAR));
var_dump($phar->isFileFormat(Phar::ZIP));
var_dump($phar->getStub());
var_dump($phar->getAlias());
echo "================= convertToTar() =====================\n";
$phar = $phar->convertToData(Phar::TAR);
var_dump($phar->isFileFormat(Phar::PHAR));
var_dump($phar->isFileFormat(Phar::TAR));
var_dump($phar->isFileFormat(Phar::ZIP));
var_dump($phar->getStub());
var_dump($phar->getAlias());
echo "================= convertToZip() =====================\n";
$phar = $phar->convertToData(Phar::ZIP, Phar::NONE, '.1.zip');
var_dump($phar->isFileFormat(Phar::PHAR));
var_dump($phar->isFileFormat(Phar::TAR));
var_dump($phar->isFileFormat(Phar::ZIP));
var_dump($phar->getStub());
var_dump($phar->getAlias());
echo "================= convertToPhar() ====================\n";
try {
    $phar = $phar->convertToExecutable(Phar::PHAR);
    var_dump($phar->isFileFormat(Phar::PHAR));
Exemplo n.º 2
0
function archiveExtract($srcFile, $destDir, $files = null, $overwrite = true)
{
    $result = array();
    try {
        $archive = new PharData($srcFile);
        if ($archive->isFileFormat(Phar::GZ)) {
            $archive->decompress('tar');
            $srcFile = pathinfo($srcFile, PATHINFO_DIRNAME) . '/' . pathinfo($srcFile, PATHINFO_FILENAME) . '.tar';
            unset($archive);
            $archive = new PharData($srcFile);
            $archive->extractTo($destDir, $files, $overwrite);
        } else {
            $result[] = _('Unsupported archive format');
        }
    } catch (Exception $err) {
        $result[] = $err;
    }
    //remove temporary uncompressed tar archive
    if (pathinfo($srcFile, PATHINFO_EXTENSION) == 'tar' && is_file($srcFile)) {
        unlink($srcFile);
    }
    return $result;
}