Lediglich Verzeichnisse ausgeben lassen

xtramen01

Erfahrenes Mitglied
Hallo,

Ich habe einen Pfad z.b. Ordner/Unterordner/index.php.
Wie bekomme ich es nun hin, das mir lediglich der Pfad, ohne die index.php, angezeigt wird?
Die Pfadangaben sind immer unterschiedlich.

Bietet PHP eine mir nicht bekannte Funktion an oder muss ich den String kürzen?
Und wenn kürzen, wie mache ich das zuverlässig, da ja die Datei und Ordnernamen nicht immer dieselben sind.

Vielen Dank für eure Unterstützung.
 
Ja Sorrry hab mich ein wenig undeutlich ausgedrückt.
Es geht darum das ich einen Ordner samt Inhalt, rekursiv kopieren möchte.

Nun lese ich den Ursprungsordner rekursiv aus und lasse mir Verzeichnisse und Dateien mittels einer Schleife ausgeben.
Bevor ich jetzt die Dateien Kopieren kann, sollte ich ja zuerst die Ordner inkl. Unterordner erstellen.
Dafür muss ich aber zuerst einmal nur die Ordnernamen bekommen.

Mein erster versuch war so, aber das funktioniert nicht.

PHP:
function read_recursiv($path)
   {
      $result = array();

      $handle = opendir($path);

      if ($handle)
      {
         while (false !== ($file = readdir($handle)))
         {
             if ($file != "." && $file != "..")
             {
                $name = $path . "/" . $file;
                if (is_dir($name))
                {
                   $ar = read_recursiv($name);
                   foreach ($ar as $value)
                   {
                      $result[] = $value;
                   }
                }
                else
                {
                   $result[] = $name;
                }
             }
         }
      }
      closedir($handle);
      return $result;
   }




   $data = read_recursiv($update['core_dir']);

   foreach($data as $value){


        copy($value, str_replace($update['core_dir'], $update['backup_dir'], $value ));

   }
 
Der Code sieht soweit in Ordnung aus. Was genau funktioniert nicht? error_reporting und display_errors korrekt eingestellt, um evtl. Script-Fehler sehen zu können?
 
Einen Fehler gibt es nicht.
Aber es ist halt nicht rekursiv. Bzw. die Unterordner und Dateien werden nicht mit kopiert.

Gruß
 
hey,

liegt dein "Problem" nicht daran:

PHP:
                if (is_dir($name))
                {
                   $ar = read_recursiv($name);
                   foreach ($ar as $value)
                   {
                      $result[] = $value;
                   }
                }
                else
                {
                   $result[] = $name;
                }

Beim else-Zweig darfst du die Resultate nicht ins Array fügen.
Danach solltest du nur die Ordner sehen.

mfg
bo
 
Zurück