我已经搜索了高和低,得到了很多不同的解决方案和变量包含信息,以获得绝对路径。但它们似乎在某些条件下有效,而在其他条件下无效。有没有一种银弹方法来获得在PHP中执行的脚本的绝对路径?对我来说,脚本将从命令行运行,但是,如果在Apache等中运行,解决方案应该也能正常运行。

澄清:最初执行的脚本,不一定是编码解决方案的文件。


当前回答

`realpath(dirname(__FILE__))` 

它为您提供当前脚本(您放置此代码的脚本)目录,不带后面的斜杠。 如果您想在结果中包含其他文件,这一点很重要

其他回答

`realpath(dirname(__FILE__))` 

它为您提供当前脚本(您放置此代码的脚本)目录,不带后面的斜杠。 如果您想在结果中包含其他文件,这一点很重要

如果你想获取当前工作目录,请使用getcwd()

http://php.net/manual/en/function.getcwd.php

__FILE__将返回路径和文件名,例如在XAMPP上C:\ XAMPP \htdocs\index.php而不是C:\ XAMPP \htdocs\

在你的脚本上试试这个

echo getcwd() . "\n";

请使用下面的方法:

echo __DIR__;
__DIR__

摘自手册:

文件的目录。如果在包含中使用,则返回所包含文件的目录。这相当于dirname(__FILE__)。除非是根目录,否则该目录名没有后面的斜杠。

__FILE__总是包含一个符号链接解析的绝对路径,而在旧版本(高于4.0.2)中,在某些情况下它包含相对路径。

注意:__DIR__是在PHP 5.3.0中添加的。