2017-05-16 44 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