我在pageA.php用下面的代碼PHP:如何識別「包括」
if (DOWNLOAD_ENABLED == 'true') include 'pageB.php';
,纔有可能知道里面pageB.php是pageA.php包括它的?我需要根據包含它的頁面在pageB.php中執行某些操作。
我在pageA.php用下面的代碼PHP:如何識別「包括」
if (DOWNLOAD_ENABLED == 'true') include 'pageB.php';
,纔有可能知道里面pageB.php是pageA.php包括它的?我需要根據包含它的頁面在pageB.php中執行某些操作。
在pageA的聲明的任何變量將可以訪問在頁面B,這是不是很好的做法,你應該使用面向對象或至少在這個功能,但是如果你絕對需要你可以這樣做:
// on pageA.php
if (DOWNLOAD_ENABLED == 'true') {
$includedFrom = "pageA";
include 'pageB.php';
}
// on pageB.php
switch($includedFrom) {
case "pageA":
// do stuff
break;
}
謝謝,現在修好了。 – cernunnos 2013-03-20 13:12:12
最簡單的方法是將它保存在var中。
$my_page = 'pageA.php';
if (DOWNLOAD_ENABLED == 'true') include 'pageB.php';
您可以訪問pageB.php
$my_page
正常。
像這樣的東西會工作:
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();
require和require_once。如果文件沒有加載,它將失敗 – Drewdin 2013-03-20 13:08:36
我的問題是如何知道pageB.php內部它被pageA.php調用,是否有一個函數呢? – Kokas 2013-03-20 13:10:29
你也可以查看'$ _SERVER ['PHP_SELF'];' – 2013-03-20 13:14:41