Включая массив файлов в PHP - PullRequest
2 голосов
/ 27 марта 2011

я пытаюсь включить все php-файлы из данного каталога в основной php-файл, я загружаю их в массив, используя Glob()

вроде так:

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

Но когда я пытаюсь include($files), я получаю сообщение о том, что он не любит массивы, должен ли я использовать оператор foreach? или есть лучший способ сделать это?

Ответы [ 4 ]

4 голосов
/ 27 марта 2011
foreach (glob("*.php") as $filename) {
    // do stuff
}
2 голосов
/ 27 марта 2011

Вы бы использовали оператор foreach, поэтому foreach $ files как $ file, include ($ file).

Сказав это, я не уверен, что это хорошая идея с точки зрения безопасности, потому что вы просто пылесосите каждый файл в каталоге и включаете его - если вредоносный файл попадает на ваш серверзатем glob () не дает вам возможности оценить, должно ли оно быть там до того, как будет включено и проанализировано.

0 голосов
/ 27 марта 2011

include() не принимает массив файлов - он принимает только один путь к файлу в качестве параметра.

Это означает, что вы должны перебирать этот массив файлов, , включая один файл за раз :

foreach ($files as $file) {
    include $file;
}
0 голосов
/ 27 марта 2011

foreach
(Мне нужно указать не менее 30 символов)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...