私は次のコードでpageA.phpにいます
if (DOWNLOAD_ENABLED == 'true') include 'pageB.php';
pageA.phpに含まれていることをpageB.php内で知ることは可能ですか?それを含むページに従って、pageB.phpで特定のアクションを実行する必要があります。
pageAで宣言された変数はpageBでアクセスできます。これはあまり良い方法ではありません。オブジェクト指向または少なくともこのための関数を使用する必要がありますが、どうしても必要な場合は、次のようなことができます。
// on pageA.php
if (DOWNLOAD_ENABLED == 'true') {
$includedFrom = "pageA";
include 'pageB.php';
}
// on pageB.php
switch($includedFrom) {
case "pageA":
// do stuff
break;
}
このようなものが機能します:
pageA.php
define('AUTHORISED_TO_INCLUDE', 1);
if (DOWNLOAD_ENABLED == 'true') include 'pageB.php';
pageB.php
if(!defined('AUTHORISED_TO_INCLUDE')) // Do something, e.g. die();
最も簡単な方法は、var に保存することです。
$my_page = 'pageA.php';
if (DOWNLOAD_ENABLED == 'true') include 'pageB.php';
通常通りアクセスできます$my_page
。pageB.php