Question

I am using a php library which has this code: require_once dirname(__FILE__) . '/config.php';

From what I've read, dirname(__FILE__) points to the current directory.

So wouldn't it be easier to just write require_once 'config.php';?

My only guess here is that including the dirname(__FILE__) ensures that the require_once function uses an absolute rather than relative path.

Was it helpful?

Solution

Yes, you are right - dirname(__FILE__) ensures that the require_once function uses an absolute rather than relative path.

The __FILE__ constant represents the running script. It will return the full path and file name of the running script.

For example, if a script called database.init.php which is included from anywhere on the filesystem wants to include the script database.class.php, which lays in the same directory, you can use:

require_once dirname(__FILE__) . '/database.class.php'; 

OTHER TIPS

an example:

if your file is inlcuded somewhere then by default it will start searching from the path of the file that included yours. in this case the require will not work for files that are next to your file

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top