$stime = gettimeofday();
/* prueba inicial... */
$root = getcwd();
$pre = explode("/", $REQUEST_URI);
array_pop($pre);
$prefix = join("/", $pre);
/* Si el script se encuentra en un subdirectorio, descomenta las
* siguientes dos lineas para generar el árbol de todos los
* archivos y directorios del servidor web */
//$root = str_replace($prefix, "", $root);
//$prefix = "";
$root .= "/";
/* Visualiza el nombre del servidor y el directorio */
//echo "\n";
//echo " http://$SERVER_NAME";
//echo "$prefix/";
//echo " | | \n";
function get_extension($name)
{
$array = explode(".", $name);
$retval = strtolower(array_pop($array));
return $retval;
}
function list_dir($chdir)
{
/* algunas variables globales y un poco de orden */
global $root, $prefix, $PHP_SELF, $SERVER_NAME, $showsize, $display, $excludedir, $excludefile;
unset($sdirs);
unset($sfiles);
chdir($chdir);
$self = basename($PHP_SELF);
/* abrimos el directorio actual */
$handle = opendir('.');
/* leemos el directorio. Si el objeto
* es un directorio lo introducimos a
* $sdirs, si se trata de un archivo
* que nos interesa (exceptuando el
* que contiene este script), lo colocamos
* en $sfiles */
while ($file = readdir($handle))
{
if(is_dir($file) && $file !=
"." && $file != ".."
&& !in_array($file,
$excludedir))
{ $sdirs[] = $file; }
elseif(is_file($file)
&& $file != "$self"
&& array_key_exists(
get_extension($file),
$display)
&& !in_array($file,
$excludefile))
{ $sfiles[] = $file; }
}
/* contamos las barras para saber la profundidad a la que estamos
* o en la estructura de directorios y cuántos segmentos debemos
* usar de la rama en la que estamos */
$dir = getcwd();
$dir1 = str_replace($root, "", $dir."/");
$count = substr_count($dir1, "/") + substr_count($dir1, "\\");
/* mostramos por pantalla los nombres y obtenemos la lista recursiva de los
* directorios */
if(is_array($sdirs)) {
sort($sdirs);
reset($sdirs);
for($y=0; $y";
for($z=1; $z<=$count; $z++)
{
//echo " ";
}
if(is_array($sfiles))
{
//echo "";
}
else
{
//echo "";
}
echo " $sdirs[$y] ";
list_dir($dir."/".$sdirs[$y]);
}
}
chdir($chdir);
/* visitamos cada uno de los elementos del array de archivos
* y los imprimimos */
if(is_array($sfiles)) {
sort($sfiles);
reset($sfiles);
$sizeof = sizeof($sfiles);
/* ¿qué tipos de ficheros deben ser visualizados? */
for($y=0; $y<$sizeof; $y++) {
// echo " | ";
for($z=1; $z<=$count; $z++)
{
// echo " ";
}
if($y == ($sizeof -1))
{
//echo "";
//
}
else
{ echo ""; }
echo " ";
echo "$sfiles[$y]";
if($showsize) {
$fsize = @filesize($sfiles[$y])/1024;
printf(" (%.2f kB)", $fsize);
}
// echo " | ";
// echo "";
}
// echo " | ";
for($z=1; $z<=$count; $z++)
{ echo " "; }
// echo " | \n";
}
}
list_dir($root);
//echo " \n";
/* ¿Cuánto tiempo nos llevó? */
$ftime = gettimeofday();
$time = round(($ftime[sec] + $ftime[usec] / 1000000) - ($stime[sec] + $stime[usec] / 1000000), 5);
echo "Tiempo de generación de la página: $time segundos\n";
?>
|