Требовать все файлы в папке

Есть ли простой способ потребовать все файлы в папке?

Нет короткого способа сделать это, вам нужно реализовать его на PHP. Что-то вроде этого должно быть достаточно:

foreach (scandir(dirname(__FILE__)) as $filename) { $path = dirname(__FILE__) . '/' . $filename; if (is_file($path)) { require $path; } } 

Вероятно, только делая что-то вроде этого:

 $files = glob($dir . '/*.php'); foreach ($files as $file) { require($file); } 

Возможно, более эффективно использовать opendir() и readdir() чем glob() .

Нет простого способа, как в Apache, где вы можете просто Include /path/to/dir , и все файлы будут включены.

Возможным способом является использование RecursiveDirectoryIterator из SPL:

 function includeDir($path) { $dir = new RecursiveDirectoryIterator($path); $iterator = new RecursiveIteratorIterator($dir); foreach ($iterator as $file) { $fname = $file->getFilename(); if (preg_match('%\.php$%', $fname)) { include($file->getPathname()); } } } 

Это приведет к тому, что все конечные файлы .php будут .php из $path , независимо от того, насколько они глубоки в структуре.

Просто:

 foreach(glob("path/to/my/dir/*.php") as $file){ require $file; } 

Используйте петлю foreach .

 foreach (glob("classes/*") as $filename) { require $filename; } 

Для получения дополнительной информации ознакомьтесь с этим ранее размещенным вопросом :

рекурсивно весь список файлов и require_once в одном каталоге:

 $files = array(); function require_once_dir($dir){ global $files; $item = glob($dir); foreach ($item as $filename) { if(is_dir($filename)) { require_once_dir($filename.'/'. "*"); }elseif(is_file($filename)){ $files[] = $filename; } } } $recursive_path = "path/to/dir"; require_once_dir($recursive_path. "/*"); for($f = 0; $f < count($files); $f++){ $file = $files[$f]; require_once($file); } 

Мой способ требовать всех братьев и сестер:

 <?php $files = glob(__DIR__ . '/*.php'); foreach ($files as $file) { // prevents including file itself if ($file != __FILE__) { require($file); } } 

Как require_all ():

 //require all php files from a folder function require_all ($path) { foreach (glob($path.'*.php') as $filename) require_once $filename; }