Exemplo n.º 1
0
    /**
     * Test that the Writing is successful.
     *
     * @return void
     *
     * @dataProvider testWritingFlagsProvider
     */
    public function testWriting($compression, $signatureName, $signatureFlag)
    {
        $pharfile = $this->getTempFile('temp.phar');
        $phar = new Pharchive();
        $phar->setStub($stubData = <<<EOF
#!/usr/bin/php
<?php

/*STUB!*/
__HALT_COMPILER();

EOF
)->setSignatureFlags($signatureFlag);
        $file = new FileEntry();
        $file->setFilename('/bin/script')->setContent($fileData = <<<EOF
#!/usr/bin/php
<?php
echo 'hello world';
EOF
);
        if ($compression) {
            $file->setCompression($compression);
        }
        $phar->addFile($file);
        $writer = new PharWriter();
        $writer->save($phar, $pharfile);
        unset($writer);
        $phar = new \Phar($pharfile);
        // As we did not set an alias, php defaults to the file name.
        $this->assertEquals($pharfile, $phar->getAlias());
        $signature = $phar->getSignature();
        $this->assertEquals($signatureName, strtolower(str_replace('-', '', $signature['hash_type'])));
        /** @var \PharFileInfo[] $files */
        $files = array_values(iterator_to_array($phar->getChildren()));
        $this->assertEquals('phar://' . $pharfile . '/bin/script', $files[0]->getPathname());
        $this->assertEquals($fileData, $files[0]->getContent());
    }
$fname2 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.zip';
$fname3 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.tar';
$stub = '<?php echo "first stub\\n"; __HALT_COMPILER(); ?>';
$file = $stub;
$files = array();
$files['a'] = 'a';
$files['b'] = 'b';
$files['c'] = 'c';
include 'files/phar_test.inc';
echo "=================== new Phar() =======================\n";
$phar = new Phar($fname);
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->convertToExecutable(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->convertToExecutable(Phar::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";
Exemplo n.º 3
0
<?php

$fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.php';
$pname = 'phar://' . $fname;
$file = '<?php echo "first stub\\n"; __HALT_COMPILER(); ?>';
$files = array();
$files['a'] = 'a';
$files['b'] = 'b';
$files['c'] = 'c';
include 'files/phar_test.inc';
$phar = new Phar($fname);
echo $phar->getAlias() . "\n";
$phar->setAlias('test');
echo $phar->getAlias() . "\n";
?>
===DONE===
<?php 
error_reporting(0);
unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.php');
unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phartmp.php');
__halt_compiler();
?>
Exemplo n.º 4
0
<?php

$fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.tar';
$fname2 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '2.phar.tar';
$phar = new Phar($fname);
$phar->setStub('<?php echo "first stub\\n"; __HALT_COMPILER(); ?>');
$phar->setAlias('hio');
$files = array();
$files['a'] = 'a';
$files['b'] = 'b';
$files['c'] = 'c';
foreach ($files as $n => $file) {
    $phar[$n] = $file;
}
$phar->stopBuffering();
echo $phar->getAlias() . "\n";
$phar->setAlias('test');
echo $phar->getAlias() . "\n";
copy($fname, $fname2);
$phar->setAlias('unused');
$a = new Phar($fname2);
echo $a->getAlias() . "\n";
?>
===DONE===
<?php 
error_reporting(0);
unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.tar');
unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phartmp.tar');
__halt_compiler();
?>
$fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.zip';
$fname2 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '2.phar.zip';
$fname3 = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '3.phar.zip';
$phar = new Phar($fname);
$phar->setStub('<?php echo "first stub\\n"; __HALT_COMPILER(); ?>');
$phar->setAlias('hio');
$files = array();
$files['a'] = 'a';
$files['b'] = 'b';
$files['c'] = 'c';
foreach ($files as $n => $file) {
    $phar[$n] = $file;
}
$phar->stopBuffering();
echo $phar->getAlias() . "\n";
$phar->setAlias('test');
echo $phar->getAlias() . "\n";
// test compression
$phar->compressFiles(Phar::GZ);
copy($fname, $fname2);
$phar->setAlias('unused');
$p2 = new Phar($fname2);
echo $p2->getAlias(), "\n";
$p2->compressFiles(Phar::BZ2);
copy($fname2, $fname3);
$p2->setAlias('unused2');
$p3 = new Phar($fname3);
echo $p3->getAlias(), "\n";
?>
===DONE===
Exemplo n.º 6
0
<?php

try {
    $a = new PharData(dirname(__FILE__) . '/files/bzip2.zip');
    foreach ($a as $entry => $file) {
        echo $file->getContent();
    }
    $a = new Phar(dirname(__FILE__) . '/files/bz2_alias.phar.zip');
    var_dump($a->getAlias());
} catch (Exception $e) {
    echo $e->getMessage() . "\n";
}
?>
===DONE===
<?php

$p = new Phar(__FILE__);
var_dump($p->getAlias());
$p2 = new Phar(__FILE__);
$p->setAlias("hi");
echo $p2->getAlias(), "\n";
echo "ok\n";
__halt_compiler(); ?>
6test.txtt��Hzzo�hi
�����Ji5���4
QCڱ�GBMB