2

私は2つのファイルを持っています

1 - index.php 2 - main.php

index.phpによるmain.phpの呼び出し<?php require_once("../../includes/main.php"); ?>

実行時にmain.phpからどのように知るのですか?

index.phpが彼を呼び出した場合、または同じユーザーがそれをスタンドアロンで実行した場合は?
require_once の場合、メイン php 内でプログラムを実行し続けるにはどうすればよいですか?

4

3 に答える 3

2

多くのフレームワークは で定数を定義しておりindex.php、 でmain.phpその存在を確認できますdefined()。デバッグ バックトレース機能を使用して詳細情報を取得できますが、本番環境や検査には使用しないでください。

于 2012-06-19T18:22:31.413 に答える
2

インクルードの前に変数を設定してから、インクルードを実行することで、以前にそれを行いました。例えば:

$included_main_from = 'index.php';
require ('../../includes/main.php');

次に、main.php でその変数とその値を確認します。

于 2012-06-19T18:22:19.370 に答える
1

別のアプローチを使用することですget_included_files()-他のファイルを含む「メイン」ファイルは常に一番上に表示されます=返された配列の0番目の要素になります:

if (get_included_files()[0] !== __FILE__) {
    // ..included
} else {
    // ..not included
}

これはほとんどの場合に機能します。

于 2012-06-19T18:27:00.853 に答える