Вы можете использовать следующую функцию, которую я только что создал:
function load_folder($folder, $ext = '.php') {
foreach (glob("$folder*$ext") as $file) {
if (file_exists($file)) {
require_once($file);
}
}
}
START EDIT
Это новая версия той же функции.Теперь он позволяет указывать папки как folder
или folder/
без сбоев.Также теперь он загружает все файлы во все папки и подпапки.
function load_folder($dir, $ext = '.php') {
if (substr($dir, -1) != '/') { $dir = "$dir/"; }
if($dh = opendir($dir)) {
$files = array();
$inner_files = array();
while($file = readdir($dh)) {
if($file != "." and $file != ".." and $file[0] != '.') {
if(is_dir($dir . $file)) {
$inner_files = load_folder($dir . $file);
if(is_array($inner_files)) $files = array_merge($files, $inner_files);
} else {
array_push($files, $dir . $file);
}
}
}
closedir($dh);
foreach ($files as $file) {
if (is_file($file) and file_exists($file)) {
$lenght = strlen($ext);
if (substr($file, -$lenght) == $ext) { require_once($file); }
}
}
}
}
END EDIT
Вы также можете указать конкретное расширение, если хотите загрузить только для примера.txt
файлы в папке, которую вы можете выполнить, выглядят так: load_folder('folder/', '.txt');
.Помните, что кто-то думает, что это как-то небезопасно.Прежде чем использовать эту функцию на бизнес-сайте, поищите больше мнений по теме.Также обратите внимание, что если некоторые из ваших файлов относятся к классам, вы можете использовать нативную функцию PHP __autoload()
, чтобы позволить PHP вызывать класс там, где он действительно необходим (отложенная загрузка).
Ссылки: