我有两个文件
1 - index.php 2 - main.php
index.php通过调用main.php<?php require_once("../../includes/main.php"); ?>
我如何从main.php知道它何时执行,
如果index.php调用他或同一个用户执行它独立?
如果是require_once,我应该在main php中问什么以继续运行程序?
我有两个文件
1 - index.php 2 - main.php
index.php通过调用main.php<?php require_once("../../includes/main.php"); ?>
我如何从main.php知道它何时执行,
如果index.php调用他或同一个用户执行它独立?
如果是require_once,我应该在main php中问什么以继续运行程序?
我之前通过在包含之前设置一个变量,然后执行包含来做到这一点。例如:
$included_main_from = 'index.php';
require ('../../includes/main.php');
然后在 main.php 中检查该变量及其值。
许多框架在 中定义了一个常量index.php
,并且main.php
您可以在其中检查它是否存在defined()
。您可以使用调试回溯功能获得更多信息,但您不应该在生产/检查中使用它。
另一种方法是使用get_included_files()
- 包含其他文件的“主”文件将始终显示在顶部 = 是返回数组的第 0 个元素:
if (get_included_files()[0] !== __FILE__) {
// ..included
} else {
// ..not included
}
这在大多数情况下都有效。