php 如何引入整个文件夹内的 .php?

发布于 2022-09-11 19:31:53 字数 486 浏览 21 评论 0

现在一般我引入就是这样

require_once '/configurations/environment.php';

只是这样当 configurations 多了很多个 php 时,就必须一个一个打上去引入

require_once '/configurations/environment.php';
require_once '/configurations/environment2.php';
require_once '/configurations/environment3.php';
require_once '/configurations/environment4.php';
require_once '/configurations/environment5.php';
.....

这样是否太麻烦
有无我只要引入「configurations」文件夹,等同于引入了里面全部的 .php 程式呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

疧_╮線 2022-09-18 19:31:53
function requireDir($dir){
    $handle = opendir($dir);
    while(false !== ($file = readdir($handle))){
        if($file != '.' && $file != '..'){
            $filepath = $dir.'/'.$file;
            if(filetype($filepath) == 'dir'){
                requireDir($filepath);
            }else{
                require_once $filepath;
            }
        }
    }
}
requireDir('./php_fun');
test();

自己写个方法就行了,不过最好还是加上命名空间。不说可以解决方法名冲突,还能让自己看起来很专业哈哈哈

℉服软 2022-09-18 19:31:53

尽量避免使用 *_once 方法。


$files = glob('/path/*.php');
foreach($files as $file){
    require $file;
}
第七度阳光i 2022-09-18 19:31:53

自动加载了解下

小鸟爱天空丶 2022-09-18 19:31:53

命名空间了解一下

楠木可依 2022-09-18 19:31:53

如果引入的文件都不是类文件且可以确定文件个数不变的,可以配置composer

"autoload": {
    "files": [
        "configurations/environment.php",
        "configurations/environment1.php",
        ...
    ]
},

如果文件个数经常变或者文件名经常变的话,还是参考其他几位答主的回答吧

原答案:
php的include和require函数只能引入文件,不能引入文件夹,也没有引入文件夹的相关函数。
可以了解一下php的命名空间和自动加载。
https://blog.csdn.net/xcqingf...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文