File "code04.php"
Full Path: /home/analogde/www/private/code04.php
File size: 7.23 KB
MIME-type: text/x-php
Charset: utf-8
<?php
ini_set('max_execution_time', 900);
$Seite = 'TreeSize for PHP-Webspace';
?>
<!doctype html>
<html lang="de-DE">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?php echo $Seite; ?></title>
<style type="text/css">
@import url("Ubuntu.css");
html {font-size:100.001%;}
body {font-size:80%; background-color:white;}
h1 {font-size:130%;}
h2 {font-size:110%;}
small {font-size:80%;}
table {font-size:100%; border-collapse: collapse; margin: 0.5em 0;}
td,th {text-align:left; white-space: nowrap; padding: 0 1em; border: 0px solid #ddd;}
td.zahl {text-align:right; white-space: nowrap;}
td.fett {font-weight: bold;}
a, a:link, a:visited {COLOR: rgb(0,0,138);}
a:hover {COLOR: rgb(0,0,238); text-decoration: none;}
.silver {color:silver;}
.silver a, .silver a:link, .silver a:visited {COLOR: rgb(90,90,138);}
.silver a:hover {COLOR: rgb(0,0,238); text-decoration: none;}
</style>
</head>
<body>
<?php
if(isset($_GET['directory']) AND $_GET['directory'] > '') {$directory = $_SERVER['DOCUMENT_ROOT'].$_GET['directory'];}
else {$directory = $_SERVER['DOCUMENT_ROOT'];}
function dirsize($path)
{
$s = 0;
$result[$path] = 0;
$handle = @opendir($path);
if ($handle)
{
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..")
{
$name = $path . "/" . $file;
if (is_dir($name))
{
$ar = dirsize($name);
while (list($key, $value) = each ($ar)) {$s++; $result[$key] = $value;}
}
else {$result[$path] += filesize($name);}
}
}
closedir($handle);
}
return $result;
}
$data = dirsize($directory);
$data1 = $data;
while (list($key, $value) = each ($data))
{
if (!preg_match("'\/'",str_replace($directory.'/','',$key)))
{
$verzeichnis[str_replace($directory.'/','',$key)] = $value;
$dir1 = str_replace($directory.'/','',$key);
while (list($key1, $value1) = each ($data1))
{
$key2 = str_replace($directory.'/','',$key1);
$subdir = preg_split('/\//',$key2);
if (preg_match("'\/'",str_replace($directory.'/','',$key1)) AND $dir1 == $subdir[0])
{
$verzeichnis[$subdir[0]] += $value1;
}
}
reset($data1);
}
}
@reset($data);
@arsort($verzeichnis);
@reset($verzeichnis);
$handle1 = @opendir($directory);
if ($handle1)
{
while (false !== ($file = readdir($handle1)))
{
if ($file != "." && $file != "..")
{
$name = $directory . "/" . $file;
if (!is_dir($name)) {$Dateien[$file] = filesize($name);}
}
}
closedir($handle1);
}
arsort($Dateien);
reset($Dateien);
?>
<div class="silver">
<h1 id="oben"><?php echo $Seite; ?><small> © <a href="http://rtol.de/tools/treesize/" target="_blank">RTOL.de</a></small></h1>
<h2><?php echo str_replace('//','/',$directory); ?></h2>
</div>
<?php
if(isset($_GET['directory']) AND !empty($_GET['directory'])) {
$vordir = $_GET['directory'];
$Verzeichnis_GET = explode('/',$vordir);
$Verzeichnis_GET_ende = end($Verzeichnis_GET);
$Verzeichnis_GET_ende = '\/'.$Verzeichnis_GET_ende;
$vor_dir = preg_replace('/'.$Verzeichnis_GET_ende.'/','',$vordir);
// $vordir = preg_split('/\//', $_GET['directory']);
// $vordir_array = rsort($vordir);
// $vor_dir = $vordir[1];
?>
<?php
if(isset($vor_dir) AND !empty(§vor_dir) ) {
//if(isset($vor_dir) AND !empty(§vor_dir) AND ctype_print($vor_dir)) {
//if(isset($vor_dir) AND !empty(§vor_dir) AND preg_match([:print:],$vor_dir)) {
?>
<a href="<?php print $_SERVER['PHP_SELF'].'?directory='.$vor_dir; ?>">Zurück</a>
<?php } ?>
<?php /* ?>
- <a href="javascript:history.back()">Zurück</a>
<?php */ ?>
<?php } else { ?>
<?php } $SumDirs =0; ?>
<table>
<tr>
<th>Bytes</th><th>kB</th><th>MB</th><th>GB</th><th>Unterordner</th>
</tr>
<?php while (list($key, $value) = @each ($verzeichnis)) {$Summe += $value; $SumDirs ++; ?>
<?php
$dir_size_kB = $value / 1024;
$dir_size_MB = $dir_size_kB / 1024;
$dir_size_GB = $dir_size_MB / 1024;
?>
<tr>
<td class="zahl"><?php echo number_format($value, 0, ",", "."); ?></td>
<?php if (intval($dir_size_kB) > 0) { ?> <td class="zahl"><?php echo number_format($dir_size_kB, 0, ",", "."); ?></td>
<?php } else { ?> <td class="zahl"></td><?php } ?>
<?php if (intval($dir_size_MB) > 0) { ?> <td class="zahl"><?php echo number_format($dir_size_MB, 0, ",", "."); ?></td>
<?php } else { ?> <td class="zahl"></td><?php } ?>
<?php if (intval($dir_size_GB) > 0) { ?> <td class="zahl"><?php echo number_format($dir_size_GB, 3, ",", "."); ?></td>
<?php } else { ?> <td class="zahl"></td><?php } ?>
<td><a href="<?php echo $_SERVER['PHP_SELF']; ?>?directory=<?php echo $_GET['directory']; ?>/<?php echo str_replace($_SERVER['DOCUMENT_ROOT'].'/','',$key); ?>">
<?php echo str_replace($directory,'',$key); ?></a></td>
</tr>
<?php } $SumFiles =0; ?>
</table>
<table>
<?php while (list($key, $value) = @each ($Dateien)) {$Summe1 += $value; $SumFiles ++; ?>
<tr>
<td class="zahl"><?php echo number_format($value, 0, ",", "."); ?></td>
<td><?php echo $key; ?></td>
<td><?php echo date("d.m.Y", filemtime($directory.'/'.$key)); ?></td>
</tr>
<?php } ?>
</table>
<?php
$SumDirs_Bytes = intval($Summe) + intval($Summe1);
$SumDirs_kB = $SumDirs_Bytes / 1024;
$SumDirs_MB = $SumDirs_kB / 1024;
$SumDirs_GB = $SumDirs_MB / 1024;
//$SumDirs_MB = $dir_size_kB / 1024;
//$SumDirs_GB = $dir_size_MB / 1024;
?>
<p>Summe - <?php echo $SumFiles; ?> Dateien:
<?php echo number_format($Summe1 / 1024, 3, ",", "."); ?> kB<br>
Summe - <?php echo $SumDirs; ?> Ordner:
<table>
<tr>
<th>Bytes</th><th>kB</th><th>MB</th><th>GB</th>
</tr>
<tr>
<td class="zahl fett"><?php echo number_format($SumDirs_Bytes, 0, ",", "."); ?></td>
<?php if (intval($SumDirs_kB) > 0) { ?> <td class="zahl fett"><?php echo number_format($SumDirs_kB, 2, ",", "."); ?></td>
<?php } else { ?> <td></td><?php } ?>
<?php if (intval($SumDirs_MB) > 0) { ?> <td class="zahl fett"><?php echo number_format($SumDirs_MB, 2, ",", "."); ?></td>
<?php } else { ?> <td></td><?php } ?>
<?php if (intval($SumDirs_GB) > 0) { ?> <td class="zahl fett"><?php echo number_format($SumDirs_GB, 2, ",", "."); ?></td>
<?php } else { ?> <td></td><?php } ?>
</tr>
</table>
<?php /* ?>
<hr>
<?php
$Sum_Dirs = 9016084596;
$SumDirs_kB = intval($Sum_Dirs) / 1024;
$SumDirs_MB = $SumDirs_kB / 1024;
$SumDirs_GB = $SumDirs_MB / 1024;
?>
<table>
<tr>
<th>Bytes</th><th>kB</th><th>MB</th><th>GB</th>
</tr>
<tr>
<td class="zahl fett"><?php echo number_format($Sum_Dirs, 0, ",", "."); ?></td>
<?php if (intval($SumDirs_kB) > 0) { ?> <td class="zahl fett"><?php echo number_format($SumDirs_kB, 3, ",", "."); ?></td>
<?php } else { ?> <td></td><?php } ?>
<?php if (intval($SumDirs_MB) > 0) { ?> <td class="zahl fett"><?php echo number_format($SumDirs_MB, 3, ",", "."); ?></td>
<?php } else { ?> <td></td><?php } ?>
<?php if (intval($SumDirs_GB) > 0) { ?> <td class="zahl fett"><?php echo number_format($SumDirs_GB, 3, ",", "."); ?></td>
<?php } else { ?> <td></td><?php } ?>
</tr>
</table>
<?php */ ?>
<?php
if(isset($vordir) AND !empty(§vordir)) {print '<hr>vordir: '; print ($vordir);}
if(isset($vor_dir) AND !empty(§vor_dir)) {print '<hr>vor_dir: '; print_r ($vor_dir);}
if(isset($Verzeichnis_GET) AND !empty(§Verzeichnis_GET)) {print '<hr>Verzeichnis_GET: '; print_r ($Verzeichnis_GET);}
if(isset($Verzeichnis_GET_ende) AND !empty(§Verzeichnis_GET_ende)) {print '<hr>Verzeichnis_GET_ende: '; print_r ($Verzeichnis_GET_ende);}
?>
<p></p>
</body>
</html>