我想知道如何创建一个声明:
如果一个文件夹中存在两次名为 Setup.php 的文件和/或其关联的子文件夹,则返回一条消息。如果扩展名为 .css 的文件在文件夹或其任何子文件夹中多次存在,则返回一条消息
由于子文件夹,此函数必须是递归的。并且可以硬编码“Setup.php”或“.css”,因为它们是唯一需要寻找的东西。
我目前拥有的有点混乱,但确实有用(在我弄清楚这个问题后会进行重构)
protected function _get_files($folder_name, $type){
$actual_dir_to_use = array();
$array_of_files[] = null;
$temp_array = null;
$path_info[] = null;
$array_of_folders = array_filter(glob(CUSTOM . '/' .$folder_name. '/*'), 'is_dir');
foreach($array_of_folders as $folders){
$array_of_files = $this->_fileHandling->dir_tree($folders);
if(isset($array_of_files) && !empty($array_of_files)){
foreach($array_of_files as $files){
$path_info = pathinfo($files);
if($type == 'css'){
if($path_info['extension'] == 'css'){
$actual_dir_to_use[] = $folders;
}
}
if($type == 'php'){
if($path_info['filename'] == 'Setup' && $path_info['extension'] == 'php'){
$temp_array[] = $folders;
$actual_dir_to_use[] = $folders;
}
}
}
}
$array_of_files = array();
$path_info = array();
}
return $actual_dir_to_use;
}
如果你传入说,packages和phppath/to/apples, path/to/bananas, path/to/fruit, path/to/cat, path/to/dog
到函数中,我将查看 packages 文件夹并返回所有包含 Setup 且扩展名为 php的子文件夹名称(例如:)。
问题是如果 apples/ 包含多个 Setup.php,那么我会得到:path/to/apples, path/to/apples, path/to/bananas, path/to/fruit, path/to/cat, path/to/dog
所以我需要修改这个函数,或者单独写一个,满足上面的 sudo 代码。
问题?我不知道从哪里开始。所以我在这里寻求帮助。