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. 実行ファイル名をJavaで取得しますか?
- 2. 実行中のdmgパッケージのファイル名を取得
- 3. PyQt:ファイルのファイル名を取得するアプリケーションに落ちた
- 4. ファイルを実行中、StackOverflowErrorを取得中
- 5. Goで現在のプロセス(実行ファイル)名を取得しますか?
- 6. PHPのサイズプロパティからファイル名を取得する方法
- 7. 実行中の玉飾りスクリプトのファイル名を取得するには
- 8. 現在実行中のファイルのディレクトリ名を取得する機能
- 9. phpファイルのルートを取得
- 10. ファイルの名前を取得する
- 11. ビットマップまたはイメージファイル - ファイル名を取得
- 12. Codeigniter - アップロードされたファイル名を取得
- 13. 現在の実行可能ファイル名を取得するglibc関数?
- 14. T-SQLストアドプロシージャからアプリケーションの実行可能ファイル名を取得する
- 15. 「このファイルを実行しますか?」を取得せずにPowershellからファイルを実行します。ダイアログ
- 16. NodeJS readFile()ファイル名を取得
- 17. 取得ファイル名が
- 18. 複数のファイルをアップロードするファイルの名前を取得
- 19. パッケージエクスプローラから選択したjavaファイルのパス/ファイル名を取得したい
- 20. iOS用にwriteImageToSavedPhotosAlbumを使用した場合の実際のファイル名を取得
- 21. linuxスクリプトの結果PHP(実行可能ファイル)を使用して取得
- 22. PHP Regexpでファイルを取得
- 23. Zend_Viewでファイル名を取得する
- 24. Pluploadファイル名を取得するには?
- 25. scriptaculousでファイル名を取得する
- 26. PhotoPrevs.appendからファイル名を取得する
- 27. BufferedImageからファイル名を取得する
- 28. QFileのファイル名を持たないファイルアドレスを取得します。
- 29. ALAssetのファイル名の取得
- 30. Content-Dispositionなしでファイル名を取得
より良い質問は、なぜこれを知る必要があるのですか?おそらく、あなたが達成しようとしていることを明示的に行うより良い方法があります。 – Zimzat