PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Funktionsprobleme (http://www.selfphp.de/forum/showthread.php?t=24547)

Gogi.org 14.01.2012 03: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/10242',''')." KB";
    }elseif(
$size 1024*1024 && $size 1024*1024*1024){
        
$size number_format($size/1024/10242',''')." MB";
    }else{
        
$size number_format($size/1024/1024/10242',''')." 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

meikel (†) 16.01.2012 06:14:05

AW: Funktionsprobleme
 
Zitat:

Zitat von Gogi.org (Beitrag 142765)
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.

Du versuchst eine Rekursion, die aber so falsch ist.

Zitat:

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

Steht doch da. PHP bekommt vom System keine Info über .htaccess. Da ein .htaccess file kaum zu den "Speicherfressern" zählen dürfte, kannste das auch weglassen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:49:48 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.