2016-04-22 10 views
1

は、私はPHPプログラマではないが、私はbasename(__DIR__)basename(__FILE__)は私に情報を与えることを知っている含まれているスクリプト(require_once(myscript)php現在のファイルのフォルダ名とファイル名を外部スクリプトから取得しますか?

を使用したとき、私は現在のファイル名と親フォルダ名を取得する必要がありますが、!私はutil.phpに

public static function echoParentAndFileNames(){ 
     echo basename(__DIR__) . "<br />"; 
     echo basename(__FILE__) . "<br />"; 
    } 

を以下の機能を持っている場合

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

:今度は例えば、異なる結果を返すスクリプトを実行している、から:

次のフォルダ構造を考えてみましょうそして、私はコードを実行しますindex.php

require_once("dir/util.php"); 

Util::echoParentAndFileNames(); 

出力は次のようになります。DIRutil.phpと私はindex.phpを、その親フォルダ名たく...

それでは、どのように私が含まれているファイルから、このスクリプトを呼び出し、それを表示することができます私に必要な情報?

答えて

3

現在の実行スクリプトを参照するには、$_SERVER['SCRIPT_FILENAME']を使用できます。

だから、あなたはあなたに機能を変更することができます:PHP Docsから

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

現在実行中のスクリプトの 'SCRIPT_FILENAME'
絶対パス名を。

注:スクリプトはfile.phpあるいは../file.phpのような相対パスとして、CLIで実行され
場合、$ _SERVERは[「SCRIPT_FILENAME」]で指定された相対パスが含まれますユーザー。

関連する問題