我给你一个简单的要求(给我带来麻烦)。 目前,我已在functions.php文件中创建了一个函数,该函数执行以下操作:
<?php
function active_check($page_name) {
$check_current_name = basename(__FILE__, '.php');
if ($page_name == $check_current_name) {
echo "active";
}
}
?>
我已经以这种方式在另一个名为test.php的.php文件中导入了这个function.php文件:
<?php
include 'functions.php';
?>
然后我以这种方式调用了test.php文件中的函数:
<?php echo active_check('test'); ?>
此代码不起作用。我是&#34;活跃的&#34;只有在active_check括号内输出“&#34; function&#34;”时才输出。这意味着函数basename( FILE ,&#39; .php&#39;)仍然读取functions.php页面名称,而不是读取test.php名称。
我该如何解决这个问题?感谢您的支持。
答案 0 :(得分:0)
你需要使用它:
basename($_SERVER["PHP_SELF"], ".php")
而不是:
basename(__FILE__, '.php')
因为magic constant将始终在其中包含编码的文件名。
手册中的引用:
__ FILE __ 解决了符号链接的文件的完整路径和文件名。如果在包含中使用,则会返回包含文件的名称。
BTW:您在函数中打印文本,因此echo active_check('test');
不需要回声。