Kurt: Script dokumentieren, dann kann man helfen

Beitrag lesen

und kommentiert. Das bedeutet, dass dort steht, was Du dir gedacht hast, was passieren soll und nicht etwa, dass Du nochmal hinschreibst, was passiert.

Nochmal Bitteschön:

  
<?  
  
//=========================================================  
// Funktion  
//=========================================================  
  
function check_dir($pfad = './', $max_size = '')  
  {  
    $gesamtgroesse = 0;  
  
    // Alle Dateien einlesen  
  
    foreach (glob("*.*") as $filename)  
      {  
        $gesamtgroesse = $gesamtgroesse + filesize($filename);  
        $arr_files[$filename] = filemtime($filename);  
      }  
  
    // Megabyte sind 2 hoch 20 Byte (Binärsystem) / Gigabyte = 2 hoch 30  
  
    $gesamtgroesse = round($gesamtgroesse / 1048576, 2);  
  
  
    // Wenn die kummlulierte Dateigröße/Verzeichnissgröße größer als $max_size (hier 100 MB) ist,  
	// soll solange die älteste Datei gelöscht werden, bis sie darunter liegt.  
  
  
    if ($gesamtgroesse > $max_size)  
      {  
        // lösche älteste Datei  
        asort($arr_files);  
        $fileNames = array_keys($arr_files);  
        unlink($fileNames[0]);  
  
        // Funktion soll sich selber erneut aufrufen...  
  
        check_dir('./', $max_size);  
  
      }  
    else  
      {  
  
        // ...oder mir die Größe ausspucken.  
  
        return $gesamtgroesse;  
  
      }  
  
//=========================================================  
  } // end function  
//=========================================================  
  
  
//=========================================================  
//  Scriptsuführung  
//=========================================================  
  
$gesamtgroesse = check_dir('./', '100');  
echo ("fertig " . $gesamtgroesse . " MB");  
exit;  
  
//=========================================================