我正在浏览代码库。这是其中一条。
require_once( dirname(__FILE__) . '/a_script.php' );
我正在考虑将其重写为:
require_once( './a_script.php' );
这两行代码有什么不同吗?
答案 0 :(得分:5)
是的,他们是不同的。第二个是相对于工作目录,它与当前正在执行的文件所在的目录并不总是相同。
在大多数情况下,工作目录是原始文件的目录。如果在另一个文件包含的文件中运行require_once,则该路径相对于第一个文件。
答案 1 :(得分:4)
他们有一些不同的
// '/dir/index.php'
require_once( dirname(__FILE__) . '/script.php' ); // '/dir/script.php'
require_once( './script.php' ); // '/dir/script.php'
chdir('/')
require_once( dirname(__FILE__) . '/script.php' ); // '/dir/script.php'
require_once( './script.php' ); // '/script.php'