Gogi.org |
14.01.2012 02:22:51 |
Funktionsprobleme
Hallo!
Ich will auf einen Blick sehen in welchen Ordnern die Speicherfresser auf meinem Webserver liegen, hierfür habe ich folgendes Script geschrieben:
PHP-Code:
<?php
$dir = getcwd();
function size($var2){
$handle = opendir($var2);
$size = "0";
while ($file2 = readdir ($handle)) {
if(!is_dir($file2)){
$size += filesize($file2);
}
}
closedir($handle);
if($size < 1024*1024) {
$size = number_format($size/1024, 2, ',', '')." KB";
}elseif($size > 1024*1024 && $size < 1024*1024*1024){
$size = number_format($size/1024/1024, 2, ',', '')." MB";
}else{
$size = number_format($size/1024/1024/1024, 2, ',', '')." GB";
}
return $size;
}
function tree($var){
$handle=opendir ($var);
$ordner = array();
$ordner[] = "<ul>";
while ($file = readdir ($handle)) {
if($file != '.' && $file != '..' && is_dir($file)){
$pfad = $var."/".$file;
$ordner[] = "<li>".$file.size($pfad)."</li>" ;
$help = tree($pfad);
foreach($help as $use) {
$ordner[] = $use;
}
}
}
$ordner[] = "</ul>";
closedir($handle);
return $ordner;
}
?>
<html>
<head>
<title>PHP-Tree Script</title>
</head>
<body>
<ul>
<li><?php
echo basename(realpath('.'))." (".size($dir).")";
?></li>
<?php
$ordner = tree($dir);
for($i=0;$i<count($ordner);$i++){
echo $ordner[$i];
}
?>
</ul>
</body>
</html>
Die erste Ordnerinstanz wird mir Problemlos angezeigt und auch die Größe der Dateien die im "root" liegen.
Das erste problem ist, das die Funktion tree() die ich in tree() aufrufe anscheinend nicht funktioniert.
Das 2te Problem wenn ich dieses Script aufrufe, ist das ich folgende Warnmeldung bekomme:
Code:
Warning: filesize() [function.filesize]: stat failed for .htaccess in C:\xampp\htdocs\tree.php on line 8
Ich hab für beide Probleme schon ein paar Stunden mit googln verbracht, aber keine Lösung gefunden. Vielleicht könnt ihr mir weiterhelfen, ich wäre euch sehr dankbar.
Gruß Gogi
|