php从外部脚本获取当前文件的foldername和文件名?

时间:2016-04-22 13:55:24

标签: php

我不是PHP程序员,但在使用包含的脚本(require_once(myscript))时需要获取当前文件名和父文件夹名称

我知道basename(__DIR__)basename(__FILE__)会向我提供信息,但是!来自运行脚本,而脚本又返回不同的结果,例如:

考虑以下文件夹结构:

/index.php 
/other.php 
/dir/util.php

如果我在 util.php

中有以下功能
  public static function echoParentAndFileNames(){
      echo basename(__DIR__) . "<br />";
      echo basename(__FILE__) . "<br />";
  }

我在 index.php

中运行代码
require_once("dir/util.php");

Util::echoParentAndFileNames();

输出将是: dir util.php ,我想要index.php及其父文件夹名称......

那么如何从包含的文件中调用此脚本并让它向我显示所需的信息?

1 个答案:

答案 0 :(得分:3)

要引用当前正在执行的脚本,您可以使用$_SERVER['SCRIPT_FILENAME']

因此,您可以将功能更改为:

public static function echoParentAndFileNames(){
    echo basename( dirname( $_SERVER['SCRIPT_FILENAME'] ) ) . "<br />";
    echo basename( $_SERVER['SCRIPT_FILENAME'] ) . "<br />";
}

来自PHP Docs

  

'SCRIPT_FILENAME'
  当前正在执行的脚本的绝对路径名。

     

注意:
  如果使用CLI执行脚本,作为相对路径,例如file.php或../file.php,$ _SERVER ['SCRIPT_FILENAME']将包含用户指定的相对路径。