Today I encountered a problem with PHP's constant __FILE__.
Checked it online. The following rules are summarized.
dirname(__FILE___) function returns the path where the script is located.
For example, the file b.php contains the following content:
$basedir = dirname(__FILE__);
?>
If b.php is used by a in other directories. PHP file require or include to quote.
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, you can The directory goes up a level:
For example: $d = dirname(dirname(__FILE__));
In fact, a directory is given as a parameter to dirname(). Because dirname() returns the last directory without \\ or /
, when it is used repeatedly, it can be considered that dirname() treats the lowest directory as a file name. Return to
the upper-level directory of the current directory as usual. Repeat this to get its upper-level directory.
contains the file that got the upper-level directory
include(dirname(__FILE__).'/ ../filename.php');