通过php在每个现有目录中创建子目录
需要在已有的子目录中创建三(3)个目录(但不在任何子目录或更深的子目录中)。子目录的名称各不相同,在命名上没有一致意见。PHP Windows命令行 开始:通过php在每个现有目录中创建子目录,php,windows,command-line,directory,Php,Windows,Command Line,Directory,需要在已有的子目录中创建三(3)个目录(但不在任何子目录或更深的子目录中)。子目录的名称各不相同,在命名上没有一致意见。PHP Windows命令行 开始: 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
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
结果:
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);
只需修改应在哪些目录中创建文件夹的阵列,以及哪些文件夹
<?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);
}
}
}
}
$directories=[“001”、“002”、“003”]代码>子目录的名称各不相同,因此需要适用于任何一级子目录的通用名称。您必须告诉我它们的确定方式。子目录名称(001、002…999,在上述示例中)差异很大,可以是任何azAZ09字符、任何长度等。没有“共识”在这些子目录的命名中。您可以给我目录WAR目录001、002等的nema,或者必须硬编码“给我目录WAR目录001、002等的nema”:或者使用getcwd()
或类似的php函数来自动识别当前的工作目录/路径,或者-更不可取-只需使用c:\aaa
(我尽量避免在执行脚本的每个新树中手动输入路径)。此代码需要的不仅仅是修改,它缺少所有代码来确定在何处创建3个目录