我正在编写一个PHP文件,要包含在一堆执行授权检查的页面中。我使用debug_backtrace()
来确定用户尝试加载的页面。然后我爆炸文件路径字符串并读取该数组中的最后一个元素以获取页面名称。出于某种原因,当我使用sizeof($referrerArray) - 1
访问最后一个元素时,我得到的页面附加了1。例如,我想要的页面是CreateEntry.php
,但它回显CreateEntry.php1
。出于某种原因,当我将访问变量切换到(sizeof($referrerArray) - 2
时,我得到了正确的行为,但当我回应它时,它是错误的字符串。
$backtraceArray = debug_backtrace();
$referrerArray = explode('/', $backtraceArray[0]['file']);
$lastElementIndex = sizeof($referrerArray) - 1;
$referrerPage = $referrerArray[$lastElementIndex];
if ($referrerPage != "CreateMenuEntry.php") {
die();
}
print_r($size);
print_r($referrerArray[5]);
print_r($referrerArray[$size]);
我的输出看起来像
"5CreateMenuEntry.phpCreateMenuEntry.php1"
有什么想法吗?