Tom: Script macht nicht genau, was ich will

Beitrag lesen

Hello,

Sobald Dein Code übersichtlicher formatiert ist, werde auch ich mich nicht scheuen, ihn genauer anzuschauen.

Bitteschön.

[code lang=php]
<?

//=========================================================
// Funktion
//=========================================================

function check_dir($pfad = './', $max_size = '')

Was ist der Zweck der Funktion?
Was sollen die beiden Attribute bewirken?

{
    $gesamtgroesse = 0;

Wofür steht $gesamtgroesse?

foreach (glob("*.*") as $filename)

Bist Du sicher, dass glob() immer ein Ergebnis liefert, dass von foreach() verarbeitet werden kann?
In welchem Working-Directory soll die Funktion arbeiten? Wieso wird das glob() nicht mitgeteilt? Funktionen sollten doch so allgemeingültig wie möglich sein!

{
        //echo "$filename - Größe: " . filesize($filename) . "<br />";

Bist Du dir über die Wirkung von clearstatcache() im Klaren?
http://de3.php.net/manual/en/function.clearstatcache.php

$gesamtgroesse = $gesamtgroesse + filesize($filename);

Warum wird filesize() doppelt aufgerufen? Das mag zwar unter PHP inzwischen so üblich sein, ist aber kein sauberer Programmierstil.

$arr_files[$filename] = filemtime($filename);
      }

usw.

Außerdem sollte eine Funktion zur Beschaffung von Daten keine Daten an die Standardausgabe ausgeben. Trenne immer sauber die Steuerflusskomtrolle, die Datenhaltung, die Datenbeschaffung, die Datenverarbeitung, und die Ergebnisausgabe voneinander. Juppi-Programmierer haben dieser Forderung auch einen eigenen Namen gegeben: MVC-Model.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de