让我假装我有以下内容 的 class.wrapper.php
// loop through events/ directory ($eventFile = filename of parsed file)
include $eventFile;
myevent.php
echo __FILE__;
myotherevent.php
echo __FILE__;
两个echo都返回相同的东西: class.wrapper.php ,有没有办法获得真正的文件名?不是包含代码的那个?
class.wrapper 是加密API的一部分,允许用户在给定目录中定义自定义php文件,以便在主应用程序中触发给定事件时调用用户定义的代码,因此我不能编辑主类,我只能通过编辑“事件”文件
来做到这一点答案 0 :(得分:1)
尝试以下功能
function GetInclude($file, $params = array())
{
extract($params);
include $file;
}
myevent.php
<?php GetInclude('class.wrapper.php', array('includerFile' => __FILE__)); ?>
myotherevent.php
<?php GetInclude('class.wrapper.php', array('includerFile' => __FILE__)); ?>
class.wrapper.php
echo $includerFile;
答案 1 :(得分:0)
如果您想获取真实姓名,例如访问此文件的完整路径,请使用函数realpath("yourfile.extension")
。
我告诉你这个简短的例子:
我们说我有一个名为index.php的文件。我想展示它的完整路径。这是代码:
<?php
echo realpath("index.php");
?>
在我的示例中,我将文件保存在C:\ xampp \ htdocs \ test \ index.php中。结果将显示此确切路径。
希望它有所帮助。