我在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