簡體   English   中英

php從外部腳本獲取當前文件的foldername和文件名?

[英]php get foldername and filename of current file but from external script?

我不是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();

輸出將是: dirutil.php ,我想要index.php及其父文件夾名稱...

那么如何從包含的文件中調用此腳本並讓它向我顯示所需的信息?

要引用當前執行的腳本,您可以使用$_SERVER['SCRIPT_FILENAME']

因此,您可以將功能更改為:

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

來自PHP文檔

'SCRIPT_FILENAME'
當前正在執行的腳本的絕對路徑名。

注意:
如果使用CLI執行腳本,作為相對路徑,例如file.php或../file.php,$ _SERVER ['SCRIPT_FILENAME']將包含用戶指定的相對路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM