PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : dateien in verzeichnissen zählen


ineo
26.08.2003, 11:16:21
hi ich hab mir von hier folgenden code kopiert um dateien und verzeichnisse zu zählen:

<?PHP
function count_file($dir)
{

// Ueberprueft ob das angegebene Verzeichnis existiert
if(is_dir($dir))
{
$afile[directory]=0;
$afile[file]=0;

chdir($dir);
$handle=opendir(".");
while($file=readdir($handle))
{

// Handelt es sich bei $file um ein Unterverzeichnis?
if(is_dir($file) && $file!="." && $file!="..")
{

// directory um eins erhoehen
$afile[directory]++;

// rekursiver Aufruf mit aktuellem Verzeichnis
$y=count_file($file);

// Ergebnisse des rekursiven Aufrufs der Funktion zu
// directory und file aufaddieren
$afile[directory]+=$y[directory];
$afile[file]+=$y[file];
}

// Handelt es sich bei $file um eine Datei?
if(is_file($file))
{

// file um eins erhoehen
$afile[file]++;
}
}

// Verzeichnisstruktur zurueck gehen
if(stristr($dir,"../")) chdir($_SERVER["DOCUMENT_ROOT"].substr($_SERVER["PATH_INFO"],0,strrpos($_SERVER["PATH_INFO"],"/")));
elseif($dir!=".") chdir("../");

closedir($handle);
}

return $afile;
}

// Aufruf der Funktion
$dir=".";
$atest=count_file($dir);
echo"<br />DIRECTORIES: ".$atest[directory];
echo"<br />FILES: ".$atest[file];
echo"<br />";

$dir="../";
$atest=count_file($dir);
echo"<br />DIRECTORIES: ".$atest[directory];
echo"<br />FILES: ".$atest[file];
?>


jetzt hab ich aber folgendes problem: mein server läuft im safe mode und deshalb krieg ich die safe mode fehlermeldung in zeile 11, 17 und 33 dass die berechtigung fehlt. das script an sich funktioniert allerdings einwandfrei. die ausgabe erfolgt in den ersten beiden zeilen und unterhalb erscheinen dann die fehlermeldungen. hat jemand eine idee wie man das script ändern kann ohne das fehlermeldungen auftauchen??

danke

Bigdaddy
27.08.2003, 08:17:25
wenn alles funktioniert, kannst du die fehlermeldungen unterdrücken, indem du ein @ vor die jeweilige funktion schreibst.

MfG
Bigdaddy