大佬教程收集整理的这篇文章主要介绍了一个包含的PHP文件可以知道它包含在哪里吗?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是index.PHP
<? require_once('header.PHP'); ?>
可以通过header.PHP知道它是否包含在index.PHP中?
– 编辑 –
function BACktrace_filename_includes($Name){ $BACktrace_array=debug_BACktrace(); if (strpos($BACktrace_arraY[1]['file'],$Name)==falsE){ return false; }else{ return true; } }
<? if (BACktrace_filename_includes('index.PHP')) echo "index.PHP"; ?>
$_SERVER['PHP_SELF']
将包含当前执行的脚本,没有办法从包含的文件确定哪个特定的脚本导致包含.
这意味着如果a.PHP包括b.PHP,其中包括c.PHP,c.PHP将无法知道b.PHP是包含者.最好的是,a.PHP是当前正在执行的脚本.
编辑:Yup,我的上述答案在技术上是错误的 – 你可以使用debug_backtrace
找到调用者,即使没有函数,直到PHP 5.4,这删除了这个功能.
a.PHP只会:
<?PHP echo 'A'; include 'b.PHP';
b.PHP:
<?PHP echo 'B'; include 'c.PHP';
c.PHP:
<?PHP echo 'C'; print_r(debug_BACktrace());
输出:
ABCArray ( [0] => Array ( [file] => /tmp/b.PHP [line] => 3 [function] => include ) [1] => Array ( [file] => /tmp/a.PHP [line] => 3 [args] => Array ( [0] => /tmp/b.PHP ) [function] => include ) )
以上是大佬教程为你收集整理的一个包含的PHP文件可以知道它包含在哪里吗?全部内容,希望文章能够帮你解决一个包含的PHP文件可以知道它包含在哪里吗?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。