Ordner struktur erstellen

kevkev

Erfahrenes Mitglied
Hallo,

Gibt es eine Funktion, die mir eine komplette ordnerstruktur erstellt?
z.b. ich habe folgenden string:
./testorder/123/456/678/

Testordner wird erstellt, danach der ordner 123 in testordner, usw.

Gibt es soetwas, und wenn nicht, wie könnte ich soetwas realisieren?

gruß kevin
 
Ich glaube nicht, dass es dafür schon eine Funktion gibt.
Aber das dürfte nicht allzuschwer umzusetzen sein.
Ich würde das so in etwa machen:
Du splittest den String per explode() nach "/".
Dann lässt du eine foreach-Schleife laufen, die für jedes Element einen neuen Ordner im vorherigen Ordner erstellt. Sollte nicht so schwer sein.
 
Stammt beides von php.net
PHP:
<?php

   function RecursiveMkdir($path)
   {
       // This function creates the specified directory using mkdir().  Note
       // that the recursive feature on mkdir() is broken with PHP 5.0.4 for
       // Windows, so I have to do the recursion myself.
       if (!file_exists($path))
       {
           // The directory doesn't exist.  Recurse, passing in the parent
           // directory so that it gets created.
           RecursiveMkdir(dirname($path));

           mkdir($path, 0777);
       }
   }

   if (!file_exists("/path/to/my/file"))
   {
       // Call the recursive mkdir function since the "recursive" feature
       // built in to mkdir() is broken.
       RecursiveMkdir("/path/to/my/file");
   }

?>
PHP:
function mkDirE($dir,$dirmode=700)
   {
       if (!empty($dir))
       {
           if (!file_exists($dir))
           {
               preg_match_all('/([^\/]*)\/?/i', $dir,$atmp);
               $base="";
               foreach ($atmp[0] as $key=>$val)
               {
                   $base=$base.$val;
                   if(!file_exists($base))
                       if (!mkdir($base,$dirmode))
                       {
                               echo "Error: Cannot create ".$base;
                           return -1;
                       }
               }
           }
           else
               if (!is_dir($dir))
               {
                       echo "Error: ".$dir." exists and is not a directory";
                   return -2;
               }
       }

       return 0;

   }
 
Zurück