PHP include
を使用している場合、どのファイルがinclude
を呼び出すのかはどのようにして知ることができますか?要するに、親ファイルのファイル名は何ですか?PHPを実行したファイルのファイル名を取得する
答えて
簡単な方法は、(inclueの前に)親ファイルに変数を割り当て、その変数をインクルードファイルで参照することです。
親ファイル:
$myvar_not_replicated = __FILE__; // Make sure nothing else is going to overwrite
include 'other_file.php';
付属ファイル:
if (isset($myvar_not_replicated)) echo "{$myvar_not_replicated} included me";
else echo "Unknown file included me";
あなたはget_included_files()
またはdebug_backtrace()
と周りの混乱もでき、いつ、どこでファイルが得たイベントを見つけます含まれていますが、それはちょっと乱雑で複雑になることがあります。
$fileList = get_included_files();
$topMost = $fileList[0];
if ($topMost == __FILE__) echo 'no parents';
else echo "parent is $topMost";
これは、単一の親がある場合、これが正しい結果をもたらすはずだと思います。
これは、親が必須ファイルではない、つまりインクルードされているファイルそのものを意味しています。
後期の答えが...
私が使用して、実行中の親ファイル名を確認してください:子ファイルを含む前にこの行を追加し、
$_SERVER["SCRIPT_NAME"] // or
$_SERVER["REQUEST_URI"] // (with query string)
これは、インクルード用のコンテナファイルを編集することなく正解を与えるので、より高い評価を受けるべきです。私はコンテナファイルの名前が必要なインクルードを持っています。これは他の答えが示唆しているように100以上の他のページで '$ var'値を変更するのを打ち負かします。 – Martin
**誤った誤解**! 'SCRIPT_NAME'は最初のファイルを返します。 'REQUEST_URI'は問題ありません!彼らはどんなCMSでも役に立たない。 'debug_backtrace()'や 'get_included_files()'を使用してください。 –
@ T.Toduaこれらの修飾子は有効ですが、この質問(および回答)の範囲外です。 '$ _SERVER ['SCRIPT_NAME']'はここで必要な値です。 – Martin
を親ファイルで:
$_SESSION['parent_file'] = $_SERVER['PHP_SELF'];
子ファイルで、セッション変数を読み取ります。
$parent_file = $_SESSION['parent_file']
- 1. Qt/C++でQProcessの実行ファイル名を取得する
- 2. 実行ファイル名をJavaで取得しますか?
- 3. jarファイルの実行時にリソースフォルダからファイル名のリストを取得する
- 4. 実行ファイル名を取得する:argv [0] vs boost :: filesystem :: current_path()
- 5. C++で実行可能ファイル名を取得するには?
- 6. AndroidのPHPファイルからすべてのファイル名を取得
- 7. cordova mediapicker実際のファイル名を取得
- 8. VBScriptプロセス名またはプログラムの実行可能ファイル名でプロセスIDを取得
- 9. 実行ファイルを実行するドッカーイメージを取得する方法
- 10. PHPファイルを取得する
- 11. 実行中のdmgパッケージのファイル名を取得
- 12. PHPファイル名の取得方法
- 13. AngularJS - ファイルのリストを取得し、抽出したファイル名
- 14. Mediawiki php:ファイルをアップロードしたユーザーの名前を取得するには?
- 15. 暗号化されたファイルのファイル名を取得する
- 16. PyQt:ファイルのファイル名を取得するアプリケーションに落ちた
- 17. ファイルを実行中、StackOverflowErrorを取得中
- 18. PHPのサイズプロパティからファイル名を取得する方法
- 19. Scream + SplashでJavascriptを実行した後にHTMLファイルを取得
- 20. Goで現在のプロセス(実行ファイル)名を取得しますか?
- 21. phpファイルのルートを取得
- 22. 現在実行中のファイルのディレクトリ名を取得する機能
- 23. 実行中の玉飾りスクリプトのファイル名を取得するには
- 24. コンソールアプリケーションを実行したプログラムの名前を取得する
- 25. ファイルの名前を取得する
- 26. SSIS - フォルダ内のファイルをループしてパス+ファイル名を取得し、最終的にPath +ファイル名としてパラメータを持つストアドプロシージャを実行する方法
- 27. Java - PHPファイルを作成して実行して出力を取得
- 28. 現在の実行可能ファイル名を取得するglibc関数?
- 29. T-SQLストアドプロシージャからアプリケーションの実行可能ファイル名を取得する
- 30. Codeigniter - アップロードされたファイル名を取得
より良い質問は、なぜこれを知る必要があるのですか?おそらく、あなたが達成しようとしていることを明示的に行うより良い方法があります。 – Zimzat