Optional include in PHP

南楼画角 提交于 2019-12-07 22:49:46

问题


I have a config file with the general configuration (in a git repo), and a local config file that overwrites configuration properties (ignored in the repo). Right now the local config file is included at the beginning of the config file:

include_once 'local_config.php';

But I would like the include to be conditional: only do it if the file local_config.php actually exists. I can do a enter link description here without problems, but first I would need to check if the file exists. So I tried get_include_path() but it returns a list of paths, and I would have to parse this list and check for every one.

Another option would be to just call include_once() and suppress the warnings, but it is even messier. Is there a simpler way to do a real optional include in PHP?


回答1:


Use the file_exists() predefined PHP function like so:

// 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');
}

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




回答2:


you can just use file_exists()

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




回答3:


You can use stream_resolve_include_path($filename) if you have a PHP version higher than 5.3.2

http://php.net/stream_resolve_include_path



来源:https://stackoverflow.com/questions/10224730/optional-include-in-php

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!