__FILE__
是一个魔术常量,包含您正在执行的文件的完整路径。如果位于包含中,则其路径将是 的内容。__FILE__
因此,使用此设置:
/folder/random/foo.php
<?php
echo getcwd() . "\n";
echo dirname(__FILE__) . "\n" ;
echo "-------\n";
include 'bar/bar.php';
/文件夹/随机/条形/条形图.php
<?php
echo getcwd() . "\n";
echo dirname(__FILE__) . "\n";
您将获得以下输出:
/folder/random
/folder/random
-------
/folder/random
/folder/random/bar
So 返回您开始执行的目录,同时与文件相关。getcwd()
dirname(__FILE__)
在我的 Web 服务器上,返回最初开始执行的文件的位置。使用 CLI,它等于执行 时将获得的效果。CLI SAPI 的文档和手册页上的注释支持这一点:getcwd()
pwd
getcwd
与其他 SAPI 相反,CLI SAPI 不会自动将当前工作目录更改为启动的脚本所在的目录。
所以像:
thom@griffin /home/thom $ echo "<?php echo getcwd() . '\n' ?>" >> test.php
thom@griffin /home/thom $ php test.php
/home/thom
thom@griffin /home/thom $ cd ..
thom@griffin /home $ php thom/test.php
/home
当然,另请参阅手册 http://php.net/manual/en/function.getcwd.php
更新:从 PHP 5.3.0 开始,您还可以使用等效于 的魔术常量。__DIR__
dirname(__FILE__)