Today I encountered a problem with PHP’s constant __FILE__.
I 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/".]
b.php file path 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, it just gives 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 bottom directory as a file name. Return to the upper-level directory of the current directory as usual.
Repeat this way to get its upper-level directory.
Contains the files that get the upper-level directory
include(dirname(__FILE__).'/.. /filename.php');
The above introduces PHP's __FILE__ constant, including require and include content. I hope it will be helpful to friends who are interested in PHP tutorials.