我有一个配置文件,其中包含常规配置(在git repo中),以及一个覆盖配置属性的本地配置文件(在repo中忽略)。现在,本地配置文件包含在配置文件的开头:
include_once 'local_config.php';
但我希望include是有条件的:只有在文件local_config.php确实存在时才这样做。我可以毫无问题地执行enter link description here,但首先我需要检查文件是否存在。所以我尝试了get_include_path(),但它返回了一个路径列表,我将不得不解析这个列表并检查每一个。
另一种选择是调用include_once()并禁止警告,但它甚至更加混乱。有没有更简单的方法在PHP中做一个真正的可选包含?
答案 0 :(得分:3)
使用file_exists()
预定义的PHP函数,如下所示:
// Test if the file exists
if(file_exists('local_config.php')){
// Include the file
include('local_config.php');
}else{
// Otherwise include the global config
include('global_config.php');
}
答案 1 :(得分:1)
你可以使用file_exists()
答案 2 :(得分:1)
如果您的PHP版本高于5.3.2
,则可以使用stream_resolve_include_path($filename)