I have a file index.php in root directory:
<?php
require_once "./include/common.php";
?>
and file common.php in include folder:
<?php
require_once "globalConfig.php";
?>
file globalConfig in the same folder with common.php. The tree folder as:
xxx/index.php
xxx/include/common.php
xxx/include/globalConfig.php
index.php run normally. But if I change file common.php as:
<?php
require_once "./globalConfig.php";
?>
PHP show a warning that it cannot find the globalConfig.php file. What is the difference? I think int the case with "./", the most outside including file (index.php) will find the globalConfig.php in its current directory.
In your index.php add
define('BASE_PATH',str_replace('\\','/',dirname(__FILE__)));
And then within common.php include like so.
require_once BASE_PATH . '/includes/globalConfig.php';
This will find the exact path and standerize the slashes, then whenever you use BASE_PATH
alsways include from the root of your htdocs, ie index.php.