Home >Backend Development >PHP Tutorial >Application of php dirname() and __FILE__ constants
This article is a detailed analysis and introduction to the application of dirname() and __FILE__ constants in php. Friends who need it can refer to it
__FILE__ represents the absolute path of the current file including the file name, dirname(__FILE__) Indicates the absolute path of the current file, basename(__FILE__) indicates the file name of the current file, dirname(__FILE__)."/f/".basename(__FILE__) indicates the f directory in the directory where the current file is located, and the file name is dirname (__FILE__) file, require means including the file into this file.
The following is the detailed explanation:
1) The dirname(__FILE___) function returns the path where the script is located.
For example, the file b.php contains the following content:
<?php $basedir = dirname(__FILE__); ?>
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.
Rather than becoming the directory where the a.php file is located.
2) dirname(__FILE__) generally returns a directory structure from the current directory where the file is located to the system root directory.
will not return the current file name.
dirname(__FILE__) may also return one. (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".
3) Usage tips,
If you repeat it, you can move the directory up a level:
For example :
$d = dirname(dirname(__FILE__));
Actually, 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 bottom 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.
4) Contains files that get the upper-level directory
include(dirname(__FILE__).''/../filename