有没有办法从包含的文件中获取顶级 PHP 文件的名称?

Gen*_* S. 1 php

假设我正在编写一个全局 logData 方法,该方法想要写入一个日志文件,该文件与运行它的 php 同名,但扩展名为 .log。

我将这个日志包含在父 php 中,目的是让它始终写入日志文件,无论 *parent 文件名是什么(不是它所在的 tools.php lib)。

所以,我有 /some/arbitrary/directory/parent.php

其中调用

包括(“/path/to/my/php/libs/tools.php”);

但是当我运行 tools.php 中的日志记录方法时,它会记录到一个名为

/path/to/my/php/libs/tools.php.log

而不是 /some/arbitrary/directory/parent.php.log (这是我想要的)。

我正在使用__FILE__它的行为方式(可能是它的意图)。是否有获取父文件名的命令,以便我可以按我的意愿工作?或者我是否必须将FILE作为参数从父 php传递到我的方法中才能让它写入正确的输出文件?

TIA

Law*_*nti 5

您可能可以使用 $_SERVER["SCRIPT_FILENAME"]