包含1行的多个文件

时间:2017-01-15 17:20:39

标签: php file include

是否可以在php文件中使用1行包含多个文件? 所以我要说我的主文件是main.php,我想要包含ic1.phpic2.phpic3.php

我尝试创建一个新文件include_all.php,在此文件中放置一个包含所有包含的列表,并将此文件包含在main.php中。但显然你不能包含包含的内容。

3 个答案:

答案 0 :(得分:1)

尝试创建文件名数组,然后循环遍历数组,如:

$fileList = array(
    'ic11.php',
    'ic2.php',
    'ic3.php'
)

$dirPath = '';
foreach($fileList as $fileName)
{
    include_once($dirPath.$fileName);
}

如果您的文件位于某个目录中,请在$dirPath变量中设置正确的路径。

答案 1 :(得分:1)

使用功能将不起作用

例如

function include_multiple() {
    foreach ( func_get_args() as $arg ) {
        include_once($arg);
    }
}

array_map(function($a){include_once($a.'.php');},['lang','func','db']);

由于"variable scope",第二个文件中的变量将被加载到函数中
那么将无法访问include_multiple之外的变量



我认为这是最好的方法:

foreach(['func','db','lang'] as $f) include_once($f.'.php');



同时创建一个新文件include_all.php,在该文件中放置一个包含所有内容的列表,以使脚本执行速度大约快 10x 。为什么?我不知道,您可以自己尝试一下。

答案 2 :(得分:0)

尝试将包含更改为require。如果您有可能将文件包括两次(可能会出现问题),请使用require_once。这将给出一个编译时警告,如果它不能包含文件则输出错误,并且应该给你一些关于你可能遇到麻烦的方向。

或者,您可以创建一个包含多个文件的函数(但在某些时候,您需要包含此函数。)

function include_multiple() {
    foreach ( func_get_args() as $arg ) {
        include_once($arg);
    }
}

使用以下方式调用:

include_multiple('ic1.php', 'ic2.php', 'ic3.php');