2017-05-16 108 views
0

需要在每个之内创建三(3)个目录,已存在子目录(但不在任何子子目录或更深的目录中)。子目录的名称各不相同,在命名中没有一致意见。 PHP Windows命令行。在每个现有目录中创建子目录由php

开始:

C:/aaa   //this is the current working directory 
C:/aaa/001  //subdirectory 001 
C:/aaa/002 
C:/aaa/ccc/xyz 
C:/aaa/randomname 
. 
C:/aaa/z 

结果:

C:/aaa 
C:/aaa/001/dir1 
      /dir2 
      /dir3 
C:/aaa/002/dir1 
      /dir2 
      /dir3 
C:/aaa/ccc/dir1 
      /dir2 
      /dir3 
C:/aaa/ccc/xyz 
C:/aaa/randomname/dir1 
       /dir2 
       /dir3 
. 
C:/aaa/z/dir1 
     /dir2 
     /dir3 

如何修改这个PHP代码所以这个发生在每个第一级子目录?

mkdir("dir1", 0700); 
mkdir("dir2", 0700); 
mkdir("dir3", 0700); 
+0

这个代码需要比修改,更是丢失了所有的代码,以找出其中创建3个目录 – Matthias

回答

1

只需修改阵列哪些目录的文件夹应创建和哪些文件夹

<?php 
    $create_directoires = ["dir1", "dir2", "dir3"]; 
    $exclude_directories = [".", ".."]; 

    $dh = opendir(getcwd()); 

    while(($file = readdir($dh)) !== false) { 
     if(is_dir($file) && !in_array($file, $exclude_directories)) { 
      foreach($create_directoires as $create_directory) { 
       if(!file_exists($file."/".$create_directory)) { 
        mkdir($file."/".$create_directory, 0700); 
       } 
      } 
     } 
    } 
+0

'$ directories = [“001”,“002”,“003”];'子目录**的名称各不相同**,所以需要一些通用的东西**任何**第一级子目录 – user3026965

+0

你必须告诉我他们决定的方式 – b0ne

+0

子目录名(上面例子中的'001,002 ... 999')差异很大可以是任何东西azAZ09 c性格,任何长度等等,这些子目录的命名都没有“共识”。 – user3026965