0

我在 pageA.php 中,代码如下

if (DOWNLOAD_ENABLED == 'true') include 'pageB.php';

是否有可能在 pageB.php 中知道 pageA.php 包含它?我需要根据包含它的页面在 pageB.php 中执行某些操作。

4

3 回答 3

0

最简单的方法是将它保存在一个 var 中。

$my_page = 'pageA.php';

if (DOWNLOAD_ENABLED == 'true') include 'pageB.php';

可以正常访问$my_pagepageB.php

于 2013-03-20T13:09:13.110 回答
0

像这样的东西会起作用:

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();
于 2013-03-20T13:09:15.903 回答
0

在 pageA 中声明的任何变量都可以在 pageB 中访问,这不是很好的做法,您应该使用面向对象或至少为此使用函数,但如果您绝对必须这样做,您可以执行以下操作:

// on pageA.php
if (DOWNLOAD_ENABLED == 'true') {
  $includedFrom = "pageA";
  include 'pageB.php';
}

// on pageB.php
switch($includedFrom) {
  case "pageA":
    // do stuff
    break;
}
于 2013-03-20T13:10:37.473 回答