From d5f0f5a4bc4934c1c4c660b3dabccb95ca76865a Mon Sep 17 00:00:00 2001 From: Romain d'Alverny Date: Wed, 5 Sep 2012 15:07:40 +0000 Subject: add possibility to list all related log files right under the build line, on request --- log_files.php | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 log_files.php (limited to 'log_files.php') diff --git a/log_files.php b/log_files.php new file mode 100644 index 0000000..bdc6525 --- /dev/null +++ b/log_files.php @@ -0,0 +1,109 @@ +'; + +foreach (glob_recursive($glob) as $f) { + if (is_dir($f)) + continue; + + $link = 'uploads' . str_replace($upload_dir, '', $f); + $show = str_replace(array($path . '/', '/'), array('', ' / '), $f); + $s .= sprintf('
  • %s (%s)
  • ', + $link, $show, + _format_bytes(filesize($f)) + ); +} +$s .= ''; + +echo $s; + + +// lib code below. + +/** + * Format size in human-readable format. + * + * @param integer $a_bytes size in bytes + * + * @return string + * + * @author yatsynych + * @link http://www.php.net/manual/fr/function.filesize.php#106935 +*/ +function _format_bytes($a_bytes) +{ + if ($a_bytes < 1024) { + return $a_bytes .' B'; + } elseif ($a_bytes < 1048576) { + return round($a_bytes / 1024, 2) .' KiB'; + } elseif ($a_bytes < 1073741824) { + return round($a_bytes / 1048576, 2) . ' MiB'; + } elseif ($a_bytes < 1099511627776) { + return round($a_bytes / 1073741824, 2) . ' GiB'; + } elseif ($a_bytes < 1125899906842624) { + return round($a_bytes / 1099511627776, 2) .' TiB'; + } elseif ($a_bytes < 1152921504606846976) { + return round($a_bytes / 1125899906842624, 2) .' PiB'; + } elseif ($a_bytes < 1180591620717411303424) { + return round($a_bytes / 1152921504606846976, 2) .' EiB'; + } elseif ($a_bytes < 1208925819614629174706176) { + return round($a_bytes / 1180591620717411303424, 2) .' ZiB'; + } else { + return round($a_bytes / 1208925819614629174706176, 2) .' YiB'; + } +} + +/** + * @param string $pattern + * @param integer $flags + * + * @return array + * + * @author Mike + * @link http://www.php.net/manual/fr/function.glob.php#106595 + * + * Does not support flag GLOB_BRACE + * +*/ +function glob_recursive($pattern, $flags = 0) +{ + $files = glob($pattern, $flags); + foreach (glob(dirname($pattern).'/*', GLOB_ONLYDIR|GLOB_NOSORT) as $dir) { + $files = array_merge($files, glob_recursive($dir.'/'.basename($pattern), $flags)); + } + + return $files; +} -- cgit v1.2.1