Home >Backend Development >PHP Tutorial >PHP's __FILE__ constant, php__file_constant_PHP tutorial
Today I encountered a problem with PHP’s constant __FILE__.
Checked it online. The following rules are summarized.
dirname(__FILE___) The function returns the path where the script is located.
For example, the file b.php contains the following content:
<span>1</span> <?<span>php </span><span>2</span> <span>$basedir</span> = <span>dirname</span>(<span>__FILE__</span><span>); </span><span>3</span> ?>
If b.php is referenced by a.php file require or include in other directories.
The content of the variable $basedir is still the path to the folder where b.php is located.
Instead of becoming the directory where the a.php file is located.
dirname(__FILE__) generally returns a directory structure from the current directory where the file is located to the system root directory.
The current file name will not be returned.
dirname(__FILE__) may also return a . (current directory)
[The reason is that the b.php file is in http.conf or the default WEB directory of the PHP configuration development environment.
For example, WEB_ROOT is: "C:/root/www/".]
The path of the b.php file is: "C:/root/www/b.php".
Usage tips,
If you repeat it once, you can move the directory up a level:
For example: $d = dirname(dirname(__FILE__));
In fact, you just give a directory as a parameter to dirname(). Because dirname() returns the last directory without \\ or /
So when it is used repeatedly, it can be considered that dirname() treats the lowest directory as a file name. Return to the parent directory of the current directory as usual.
By repeating this, you will get its upper-level directory.
Includes files from the upper level directory
include(dirname(__FILE__).'/../filename.php');