2

我有一个具有一般配置的配置文件(在 git 存储库中),以及一个覆盖配置属性的本地配置文件(在存储库中被忽略)。现在本地配置文件包含在配置文件的开头:

include_once 'local_config.php';

但我希望包含是有条件的:只有在文件 local_config.php 实际存在时才这样做。我可以在这里毫无问题地输入链接描述,但首先我需要检查文件是否存在。所以我尝试了 get_include_path() 但它返回一个路径列表,我必须解析这个列表并检查每一个。

另一种选择是只调用 include_once() 并抑制警告,但它甚至更混乱。有没有更简单的方法在 PHP 中做一个真正的可选包含?

4

3 回答 3

4

像这样使用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');
}

此处的文档:http: //php.net/manual/en/function.file-exists.php

于 2012-04-19T08:57:30.997 回答
1

你可以只使用 file_exists()

http://php.net/manual/en/function.file-exists.php

于 2012-04-19T08:57:37.593 回答
1

stream_resolve_include_path($filename)如果您的 PHP 版本高于 5.3.2,则可以使用

http://php.net/stream_resolve_include_path

于 2017-04-03T02:48:08.830 回答