Suche] Script zur Webspaceberechnung

Moritz123

Erfahrenes Mitglied
Hallo,
ich suche ein script, dass die Größe aller auf dem Server vorhandenen Dateien erfasst, addiert und dann ausgibt.

kann mir da jemand weiterhelfen?

Vielen Dank
 
.....

Quelle PHP.NET function -> filesize

How many place is free?
How many dirs and files is on my web?
--------------------------------------------
$quota="100"; // place for your web in MB
function obsah($adr,&$total,&$dir,&$size){ _ _ _ _ _ _
$dp=OpenDir($adr);
_do{
_ _$itm=ReadDir($dp);
_ _if (Is_Dir("$adr/$itm")&&($itm!=".")&&($itm!="..")&&($itm!="")){
_ _ obsah("$adr/$itm",$total,$dir,$size);
_ _ _$dir++;
_}
_ _elseif (($itm!=".")&&($itm!="..")&&($itm!="")){
_ _ $size=$size+FileSize("$adr/$itm");
_ _ _$total++;
_ }
_} while ($itm!=false);
CloseDir($dp);
}
obsah(".",$total,$dir,$size);
$freeA=BcDIV($size,1024*1024,2);
$freeB=$quota-$freeA;
echo "<CENTER><FONT FACE=arial SIZE=2>
Engaged place: <B>$freeA</B> MB
Free place: <B>$freeB</B> MB
<B>$total</B> files in <B>$dir</B> dirs


Reihenfolge bei PHP-Problemen:
http://www.php.net
http://www.zend.com
http://www.dclp-faq.de

und ERST fragen, wenn es wirklich keine Hilfe gibt :RTFM:
 
ok. vielen dank dafür.
das wirkliche problem hat sich mir allerdings erst jetzt offenbart:
die datei in der das ganze berechnet werden soll liegt im unterverzeichnis /xy. das bedeutet, dass nur die dateien im verzeichnis /xy gelesen und kalkuliert werden. wie kann ich mit dem von dir eingebrachten script erreichen, dass zuerst auf die rootebene gewechselt wird, bevor das script anfangt die dateigrößen zu kalkulieren?

vielen dank!
 
PHP:
<?php
$quota="100"; // place for your web in MB

function obsah($adr,&$total,&$dir,&$size){
$dp=OpenDir($adr);
do{
	$itm=ReadDir($dp);
	if (Is_Dir("$adr/$itm")&&($itm!=".")&&($itm!="..")&&($itm!="")){
	obsah("$adr/$itm",$total,$dir,$size);
	$dir++;
	}
	elseif (($itm!=".")&&($itm!="..")&&($itm!="")){
	$size=$size+FileSize("$adr/$itm");
	$total++;
	}
} while ($itm!=false);
CloseDir($dp);
}

obsah(".",$total,$dir,$size);
$freeA=BcDIV($size,1024*1024,2);
$freeB=$quota-$freeA;
echo "<CENTER><FONT FACE=arial SIZE=2>
Engaged place: <B>$freeA</B> MB 
Free place: <B>$freeB</B> MB
<B>$total</B> files in <B>$dir</B> dirs
</FONT></CENTER>";
?>

Folgende Zeile muß nur verändert werden:
PHP:
obsah(".",$total,$dir,$size);
Statt "." sollte das absolute Startverzeichnis angegeben werden (z. B. : "/www/usr40404/").

Es kann sein, das das Script nicht auf jeden System läuft. Zur not gibt es bei http://www.zend.com/codex.php unter "Files & Directories" ein weiteres Script, das die Gesamt-Quota berechnet.

P.S.: Du willst mir doch nicht erzählen, Du könntest das Script nicht in den Root legen ...
 
Zuletzt bearbeitet:
Doch, ich kann es nicht ins Root legen, da ich das Script auf eine Subdomain in ein Adminscript einbauen muss, aber wen interessiert schon die Größe die das Adminscript samt Unterordner belegt?

Trotzdem danke!
 
Zurück