Как с помощью функций foreach и glob пройти по всем подпапкам и подключить все php файлы?

Пользователь

от jaylen.trantow , в категории: PHP , 2 года назад

Как с помощью функций foreach и glob пройти по всем подпапкам и подключить все php файлы?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от aaron_armstrong , 2 года назад

@jaylen.trantow 

Вы можете использовать функцию glob() для поиска всех файлов PHP в каждой подпапке и затем использовать цикл foreach() для подключения каждого найденного файла. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
<?php
// Определяем базовую директорию, в которой будем искать файлы PHP
$base_dir = '/path/to/base/directory';

// Получаем список всех папок в базовой директории
$folders = glob($base_dir . '/*', GLOB_ONLYDIR);

// Проходим по каждой папке
foreach ($folders as $folder) {
    // Получаем список всех файлов PHP в текущей папке
    $files = glob($folder . '/*.php');
    
    // Проходим по каждому файлу и подключаем его
    foreach ($files as $file) {
        require_once $file;
    }
}
?>


Этот код ищет все папки в базовой директории, затем ищет все файлы PHP в каждой папке и подключает их с помощью функции require_once(). Обратите внимание, что используется require_once() вместо require(), чтобы избежать подключения одного и того же файла несколько раз, если он встречается в разных папках.

Пользователь

от clifford , год назад

@jaylen.trantow 

Пример кода, который позволяет пройти по всем подпапкам и подключить все php файлы:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
function includePhpFiles($folder) {
     // Получаем список всех файлов php в текущей папке
    $files = glob($folder . '/*.php');
    
    // Проходим по каждому файлу и подключаем его
    foreach ($files as $file) {
        require_once $file;
    }
    
    // Получаем список всех подпапок в текущей папке
    $subFolders = glob($folder . '/*', GLOB_ONLYDIR);
    
    // Рекурсивно вызываем функцию для каждой подпапки
    foreach ($subFolders as $subFolder) {
        includePhpFiles($subFolder);
    }
}

// Определяем базовую директорию
$baseDir = '/path/to/base/directory';

// Вызываем функцию для базовой директории
includePhpFiles($baseDir);
?>


В этом коде мы определяем функцию includePhpFiles, которая принимает папку в качестве аргумента. Внутри этой функции мы сначала подключаем все php файлы в данной папке с помощью функции require_once, затем находим все подпапки в этой папке с помощью функции glob и вызываем функцию includePhpFiles для каждой подпапки. Затем мы вызываем эту функцию для базовой директории, чтобы начать проход по всем подпапкам.