Beispiel #1
0
    echo "{$b}\n";
}
try {
    Phar::mount($pname . '/testit', 'another\\..\\mistake');
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
try {
    Phar::mount($pname . '/notfound', dirname(__FILE__) . '/this/does/not/exist');
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
try {
    Phar::mount($pname . '/testit', dirname(__FILE__));
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
try {
    Phar::mount($pname . '/testit/extfile.php', dirname(__FILE__));
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
?>
===DONE===
<?php 
error_reporting(0);
@unlink(dirname(__FILE__) . '/tempmanifest1.phar.php');
@unlink(dirname(__FILE__) . '/testit/extfile.php');
@unlink(dirname(__FILE__) . '/testit/extfile2.php');
@rmdir(dirname(__FILE__) . '/testit/directory');
@rmdir(dirname(__FILE__) . '/testit');
<?php

$fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.php';
$pname = 'phar://' . $fname;
$file = "<?php\nPhar::mapPhar('hio');\n__HALT_COMPILER(); ?>";
$files = array();
$files['a/x'] = 'a';
$files['a/b/x'] = 'a';
include 'files/phar_test.inc';
include $fname;
Phar::mount("{$pname}/a/c", dirname(__FILE__));
var_dump(file_exists($pname . '/a'));
var_dump(file_exists($pname . '/a/x'));
var_dump(file_exists($pname . '/a/b'));
var_dump(file_exists($pname . '/a/b/x'));
var_dump(file_exists($pname . '/a/c'));
var_dump(file_exists($pname . '/a/c/' . basename(__FILE__)));
rename($pname . '/a', $pname . '/b');
clearstatcache();
var_dump(file_exists($pname . '/a'));
var_dump(file_exists($pname . '/a/x'));
var_dump(file_exists($pname . '/a/b'));
var_dump(file_exists($pname . '/a/b/x'));
var_dump(file_exists($pname . '/a/c'));
var_dump(file_exists($pname . '/a/c/' . basename(__FILE__)));
var_dump(file_exists($pname . '/b'));
var_dump(file_exists($pname . '/b/x'));
var_dump(file_exists($pname . '/b/b'));
var_dump(file_exists($pname . '/b/b/x'));
var_dump(file_exists($pname . '/b/c'));
var_dump(file_exists($pname . '/b/c/' . basename(__FILE__)));
Beispiel #3
0
}
?>';
$a->setStub('<?php
set_include_path("phar://" . __FILE__);
include "index.php";
__HALT_COMPILER();');
Phar::mount($pname . '/testit1', __FILE__);
include $fname;
// test copying of a phar with mounted entries
$b = $a->convertToExecutable(Phar::TAR);
$b->setStub('<?php
set_include_path("phar://" . __FILE__);
include "index.php";
__HALT_COMPILER();');
try {
    include $fname2;
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
try {
    Phar::mount($pname . '/oops', '/home/oops/../../etc/passwd:');
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
Phar::mount($pname . '/testit2', $pname . '/testit1');
echo substr($a['testit2']->getContent(), 0, 50), "\n";
?>
===DONE===
<?php 
unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.php');
unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.tar');
Beispiel #4
0
<?php

var_dump(file_exists('phar://' . dirname(__FILE__) . '/files/write4.phar/testit.txt'));
Phar::mount('phar://' . dirname(__FILE__) . '/files/write4.phar/testit.txt', 'phar://' . dirname(__FILE__) . '/files/write4.phar/tobemounted');
var_dump(file_exists('phar://' . dirname(__FILE__) . '/files/write4.phar/testit.txt'), file_get_contents('phar://' . dirname(__FILE__) . '/files/write4.phar/testit.txt'));
?>
===DONE===
Beispiel #5
0
    // mount config and database.sq outside phar archive
    // first arg is internal file (which must not exist)
    // second arg is external file
    Phar::mount('config/config.ini', '.config.ini');
    Phar::mount('sqlite/database.sql', '.database.sql');
} catch (Exception $e) {
    // Exception is that .config.ini and .database.sql does not exists
    // we make them
    $str = file_get_contents('tmp/.config.ini');
    file_put_contents('.config.ini', $str);
    $str = file_get_contents('tmp/.database.sql');
    file_put_contents('.database.sql', $str);
    chmod('.database.sql', 0777);
    // And mount again
    Phar::mount('config/config.ini', '.config.ini');
    Phar::mount('sqlite/database.sql', '.database.sql');
}
if (php_sapi_name() == 'cli-server') {
    $info = parse_url($_SERVER['REQUEST_URI']);
    $file = $info['path'];
    if (file_exists("./{$info['path']}") && $info['path'] != '/') {
        $full = __DIR__ . "{$file}";
        if (!file_exists($full) or is_dir($full)) {
            echo "Is dir. Or does not exists";
            return false;
        }
        $mime = file::getMime($full);
        if ($mime) {
            if ($mime == 'text/x-php') {
                return false;
            }
<?php

$fname = dirname(__FILE__) . '/tempmanifest1.phar.php';
$pname = 'phar://' . $fname;
$a = new Phar($fname);
$a['file1.txt'] = 'hi';
$a['file2.txt'] = 'hi2';
$a['subdir/ectory/file.txt'] = 'hi3';
$a->mount($pname . '/mount', __FILE__);
$a->addEmptyDir('one/level');
$a->extractTo(dirname(__FILE__) . '/extract', 'mount');
$a->extractTo(dirname(__FILE__) . '/extract');
$out = array();
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator(dirname(__FILE__) . '/extract', 0x3000), RecursiveIteratorIterator::CHILD_FIRST) as $p => $b) {
    $out[] = $p;
}
sort($out);
foreach ($out as $b) {
    echo "{$b}\n";
}
$a->extractTo(dirname(__FILE__) . '/extract1', 'file1.txt');
var_dump(file_get_contents(dirname(__FILE__) . '/extract1/file1.txt'));
$a->extractTo(dirname(__FILE__) . '/extract1', 'subdir/ectory/file.txt');
var_dump(file_get_contents(dirname(__FILE__) . '/extract1/subdir/ectory/file.txt'));
$a->extractTo(dirname(__FILE__) . '/extract1-2', array('file2.txt', 'one/level'));
var_dump(file_get_contents(dirname(__FILE__) . '/extract1-2/file2.txt'));
var_dump(is_dir(dirname(__FILE__) . '/extract1-2/one/level'));
try {
    $a->extractTo(dirname(__FILE__) . '/whatever', 134);
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
Beispiel #7
0
<?php

$fname = dirname(__FILE__) . '/tempmanifest2.phar.php';
$pname = 'phar://' . $fname;
$phar = new Phar($fname);
$phar->setDefaultStub();
$phar->setAlias('fred');
$phar['file1.txt'] = 'hi';
$phar['file2.txt'] = 'hi2';
$phar['subdir/ectory/file.txt'] = 'hi3';
$phar->mount($pname . '/mount2', __FILE__);
$phar->addEmptyDir('one/level');
$phar->extractTo(dirname(__FILE__) . '/extract2', 'mount2');
$phar->extractTo(dirname(__FILE__) . '/extract2');
$out = array();
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator(dirname(__FILE__) . '/extract2', 0x3000), RecursiveIteratorIterator::CHILD_FIRST) as $path => $file) {
    $extracted[] = $path;
}
sort($extracted);
foreach ($extracted as $out) {
    echo "{$out}\n";
}
?>
===DONE===
<?php 
@unlink(dirname(__FILE__) . '/tempmanifest2.phar.php');
$dir = dirname(__FILE__) . '/extract2/';
@unlink($dir . 'file1.txt');
@unlink($dir . 'file2.txt');
@unlink($dir . 'subdir/ectory/file.txt');
@rmdir($dir . 'subdir/ectory');
<?php

$p = new Phar(__FILE__);
var_dump(isset($p["mounted"]));
Phar::mount("mounted", "phar://" . __FILE__ . "/test.txt");
var_dump(isset($p["mounted"]));
echo $p["mounted"]->getContent(), "\nok\n";
__halt_compiler(); ?>
6test.txt€ισH©ΐEΆ<?php __HALT_COMPILER();?f}oe/y»NLYι,*΄�GBMB
<?php

var_dump(file_exists("phar://" . __FILE__ . "/test.txt"));
clearstatcache();
Phar::mount("test.txt", "phar://" . __FILE__ . "/tobemounted");
var_dump(file_exists("phar://" . __FILE__ . "/test.txt"), file_get_contents("phar://" . __FILE__ . "/test.txt"));
echo "ok\n";
__halt_compiler(); ?>
9tobemounted���H�*�ضhi�����X���PF�.��3GBMB
Beispiel #10
0
require REDBEANPHP_MAIN_DIR . 'Repository/Frozen.php';
//Load Core functionality
require REDBEANPHP_MAIN_DIR . 'OODB.php';
require REDBEANPHP_MAIN_DIR . 'ToolBox.php';
require REDBEANPHP_MAIN_DIR . 'Finder.php';
//Load extended functionality
require REDBEANPHP_MAIN_DIR . 'AssociationManager.php';
require REDBEANPHP_MAIN_DIR . 'BeanHelper.php';
require REDBEANPHP_MAIN_DIR . 'BeanHelper/SimpleFacadeBeanHelper.php';
/* Developer Comfort */
require REDBEANPHP_MAIN_DIR . 'SimpleModel.php';
require REDBEANPHP_MAIN_DIR . 'SimpleModelHelper.php';
require REDBEANPHP_MAIN_DIR . 'TagManager.php';
require REDBEANPHP_MAIN_DIR . 'LabelMaker.php';
require REDBEANPHP_MAIN_DIR . 'Facade.php';
require REDBEANPHP_MAIN_DIR . 'DuplicationManager.php';
require REDBEANPHP_MAIN_DIR . 'Plugin.php';
require REDBEANPHP_MAIN_DIR . 'Functions.php';
//Allow users to mount the plugin folder.
if (defined('REDBEANPHP_PLUGINS')) {
    Phar::mount('RedBeanPHP/Plugin', REDBEANPHP_PLUGINS);
}
//make some classes available for backward compatibility
class RedBean_SimpleModel extends \RedBeanPHP\SimpleModel
{
}
if (!class_exists('R')) {
    class R extends \RedBeanPHP\Facade
    {
    }
}
Beispiel #11
0
/**
 * This file is a part of MyWebSQL package
 *
 * @file:      status.php
 * @author     Samnan ur Rehman
 * @copyright  (c) 2008-2012 Samnan ur Rehman
 * @web        http://mywebsql.net
 * @license    http://mywebsql.net/license
 */
if (defined('MYWEBSQL_COMPACT_DIST')) {
    $files = scandir(BASE_PATH . "/config/");
    foreach ($files as $config) {
        $_cfn = BASE_PATH . '/mywebsql_config/' . basename($config);
        if (file_exists($cfn)) {
            Phar::mount('config/' . basename($config), $_cfn);
        }
    }
}
define('BASE_PATH', dirname(__FILE__));
header("Content-Type: text/html;charset=utf-8");
include_once BASE_PATH . "/lib/session.php";
Session::init();
include_once BASE_PATH . "/config/config.php";
if (defined("TRACE_FILEPATH") && TRACE_FILEPATH && defined("TRACE_MESSAGES") && TRACE_MESSAGES) {
    ini_set("error_log", TRACE_FILEPATH);
}
$status = '[]';
if (!isset($_REQUEST['type']) || !isset($_REQUEST['id'])) {
    die($status);
}
<?php

Phar::interceptFileFuncs();
if (file_exists(dirname(__FILE__) . "/files/config.xml")) {
    Phar::mount("config.xml", dirname(__FILE__) . "/files/config.xml");
}
Phar::webPhar("blog", "index.php");
__halt_compiler(); ?>
^	index.php�?2�I�坙��install.php?2�I2���<?php if (!file_exists("config.xml")) {
	include "install.php";
	exit;
}
var_dump(str_replace("\r\n", "\n", file_get_contents("config.xml")));
?><?php echo "install\n"; ?>0�])IgF|������a��GBMB