From 8e44f84b9d02dd5b9c8458f439dc3e89679aa25c Mon Sep 17 00:00:00 2001 From: Romain d'Alverny Date: Mon, 10 Sep 2012 08:07:12 +0000 Subject: show files tree structure --- log_files.php | 66 ++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 40 insertions(+), 26 deletions(-) (limited to 'log_files.php') diff --git a/log_files.php b/log_files.php index 7c365b9..4648a6f 100644 --- a/log_files.php +++ b/log_files.php @@ -34,44 +34,23 @@ if (!is_dir($path)) { die('Sorry, not found'); } -$glob = $path . '/*'; -$s = sprintf('

%s

', $job); -$s .= ''; - -echo $s; - +echo sprintf('

%s

', $job), + print_list($list); // lib code below. @@ -129,3 +108,38 @@ function glob_recursive($pattern, $flags = 0) return $files; } + +function glob_recursive_tree($pattern, $flags = 0) +{ + $files = glob($pattern, $flags); + foreach (glob(dirname($pattern) . '/*', GLOB_ONLYDIR|GLOB_NOSORT) as $dir) { + $dirtop = explode('/', $dir); + $files[end($dirtop)] = glob_recursive_tree($dir . '/' . basename($pattern), $flags); + } + + return $files; +} + +function print_list($list) +{ + global $upload_dir, $path; + + $l = array(); + foreach ($list as $f) { + if (!is_string($f)) { + continue; + } + + if (is_dir($f)) { + $top = basename($f); + $l[] = sprintf('
  • %s%s
  • ', $top, print_list($list[$top])); + } elseif (file_exists($f)) { + $l[] = sprintf('
  • %s (%s)
  • ', + 'uploads' . str_replace($upload_dir, '', $f), + basename($f), + _format_bytes(filesize($f)) + ); + } + } + return sprintf('', implode($l)); +} -- cgit v1.2.1