php/phar.php

<?php

require_once('env.php');

outBegin("phar: archives");
$aa = envArgs();
if (count($aa) < 1)
    $aa = ['/wkData/install/wikifarm/mini.zip'];
out("use arguments to specive 1 or more archives");
foreach($aa as $d) {
    outH("archive phar://$d");
    doDir("phar://$d");
}
outEnd();

function doDir($dir, $de=0) {
    $lS = scandir($dir);
    $lC = count($lS);
    out();
    outW("--- $dir $de --> $lC entries");  
    outUL();
        
    for ($lx=0; $lx < $lC; $lx++) {
        $f = $dir . '/' . $e = $lS[$lx];
        $ft = filetype($f);
        $rA = lstat($f);
        outLi(sprintf("%4d", $lx), date('c', $rA['mtime']), sprintf("%12d",  $rA['size']), $ft, $e);
        if ($lx > 0 and strcmp($lS[$lx-1], $lS[$lx]) >= 0)
            err("not increasing in $l [" . ( $lx - 1 ) . " $lx] {$lS[$lx-1]} $lS[$lx]");
        if ($ft == 'dir' and $e != '.' and $e != '..' and $de < 3)
            doDir($f, $de+1);
    }
    outULend();
}

?>