PHP外部函数应导入当前页面名称

时间:2015-03-29 21:54:03

标签: php

我给你一个简单的要求(给我带来麻烦)。 目前,我已在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名称。

我该如何解决这个问题?感谢您的支持。

1 个答案:

答案 0 :(得分:0)

你需要使用它:

basename($_SERVER["PHP_SELF"], ".php")

而不是:

basename(__FILE__, '.php')

因为magic constant将始终在其中包含编码的文件名。

手册中的引用:

  

__ FILE __ 解决了符号链接的文件的完整路径和文件名。如果在包含中使用,则会返回包含文件的名称

BTW:您在函数中打印文本,因此echo active_check('test');不需要回声。