这两行PHP是不同的?

时间:2013-03-06 03:30:22

标签: php

我正在浏览代码库。这是其中一条。

require_once( dirname(__FILE__) . '/a_script.php' );

我正在考虑将其重写为:

require_once( './a_script.php' );

这两行代码有什么不同吗?

2 个答案:

答案 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'