KarloK.: @Vinzenz nochmal

Beitrag lesen

Hi Vinzenz,

könntest Du vielleicht nochmal einen Blick darauf werfen?
Nicht, dass irgendwo ein Fehler drinne ist und ich mir versehentlich Dateien lösche.

Grüße, Kk

(Hoffentlich klappt die Formatierung)

  
function dir_rekursiv($verzeichnis)  
{  
     $handle =  opendir($verzeichnis);  
  
     while ($datei = readdir($handle))  
     {  
          if ($datei != "." && $datei != ".." && $datei != "backup")  
          {  
               if (is_dir($verzeichnis.$datei)) // Wenn Verzeichniseintrag ein Verzeichnis ist  
               {  
                    // Erneuter Funktionsaufruf, um das aktuelle Verzeichnis auszulesen  
                    dir_rekursiv($verzeichnis.$datei.'/');  
               }  
               else  
               {  
                    $teile = explode(".", $datei);  
                    $datei_ohne_endung=$teile[0];  
                    $endung=$teile[1];  
                    $laenge = strlen($datei_ohne_endung)-1; // string-laenge bestimmen, und  
                    // 1 abziehen, weil bei 0 angefangen  
                    // wird zu zaehlen..  
  
                    if (($endung != "gif") && (is_numeric($datei_ohne_endung[$laenge])))  
                    {  
                         $datei_ohne_endung = preg_replace("/\d*$/", "", $datei_ohne_endung);  
                         $backupliste = glob("./backup/$datei_ohne_endung*.$endung");  
                         natsort ($backupliste);  
                         $hoechste_dateinummer = array_pop($backupliste);  
                         $teile_hoechste_dateinummer = explode(".", $hoechste_dateinummer);  
                         $datei_ohne_endung_hoechste_dateinummer=$teile_hoechste_dateinummer[1];  
                         preg_match("/\d*$/", $datei_ohne_endung_hoechste_dateinummer, $treffer);  
                         //echo("$datei_ohne_endung_hoechste_dateinummer<br>");  
                         //print_r($treffer);  
                         $i=$treffer[0];  
                         $neuer_index=$i+1;  
                         $tofile="backup/$datei_ohne_endung$neuer_index".".$endung";  
                         echo ("tf: $tofile<br>");  
                         rename($verzeichnis.$datei, $tofile);  
  
                    }  
               }  
          }  
     }  
  
     closedir($handle);  
}  
  
$verz="./";  
  
if (!file_exists("$verz/backup"))  
{  
     mkdir("$verz/backup");  
}  
  
dir_rekursiv($verz);  
echo ("fertig");