Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

Возможно, только сделав что-то вроде этого:

$files = glob($dir . '/*.php');

foreach ($files as $file) {
    require($file);   
}

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

Ответ 3

Нет простого способа, как в 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 конечных файлов из $path, независимо от того, насколько они глубоки в структуре.

Ответ 4

Простой:

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

Ответ 6

рекурсивно весь список файлов и 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);
}

Ответ 7

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

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

Ответ 8

Как функция require_all():

//require all php files from a folder
function require_all ($path) {

    foreach (glob($path.'*.php') as $filename) require_once $filename;

}