Laravel 6中如何判断config文件夹下的指定文件是否存在?
问题原因
你原来的代码使用相对路径进行检测,PHP的file_exists方法解析相对路径时是以项目入口文件public/index.php作为基准目录的,自然找不到根目录下config文件夹里的文件。
正确实现方案
Laravel内置了config_path()辅助函数,可以直接获取config目录的绝对路径,把你的代码改成如下即可:
if (file_exists(config_path('constants.php'))) { return 'exists'; } else { return 'does not exist'; }
补充说明
- 如果你的检测逻辑运行在框架配置加载完成前,也可以用
base_path('config/constants.php')拼接绝对路径,效果和config_path()完全一致 - 确认文件存在后,你可以直接通过
config('constants.配置键名')的方式读取你定义的静态数据,不需要手动引入文件
内容的提问来源于stack exchange,提问作者Chata
相关产品推荐
相关产品推荐

