PHP获取调用页面的页面名称?

时间:2014-05-03 15:48:31

标签: php include filenames

有没有办法检索php文件的调用页面的页面名称?

例如,如果我有index.php

<?php
  session_start();
  include 'val.php';
  // other stuff
?>

我的val.php看起来像:

<?php
  // get file name of caller (index.php in this case)
?>

如果我将echo basename($_SERVER['PHP_SELF']);代码放在val.php中,我可以使用index.php来获取页面名称,但我希望此代码显示在多个页面上,因此将其提取到其中自己的页面是必要的。

也许我应该在调用basename($_SERVER['PHP_SELF']);之前将$_SESSION放入include 'val.php'中的会话变量中,然后在使用后销毁该变量?这是个好主意吗?

2 个答案:

答案 0 :(得分:3)

如果我正确理解您的问题,您可以使用$_SERVER['SCRIPT_FILENAME'];

这将返回包含val.php的文件名。

答案 1 :(得分:0)

pathinfo()返回有关路径的信息:关联数组或字符串,具体取决于选项。

(PHP 4&gt; = 4.0.3,PHP 5,PHP 7) pathinfo - 返回有关文件路径的信息

从此处 - http://php.net/manual/en/function.pathinfo.php

<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');

echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // since PHP 5.2.0
?>