使用basename(__ FILE__)来确定更改标题的页面名称不起作用

The*_*rix 1 html php variables if-statement

这很简单,但我想我在这里缺少一些关键的东西:

<?php 
        $title = " | Unlimited Motors";
if (basename(__FILE__) == "index.php") {
    global $title;
    $title = "Home"." | Unlimited Motors";
}
if (basename(__FILE__) == "contact.php") {
    global $title;
    $title = "Contact Us"." | Unlimited Motors";
}
?>
<!DOCTYPE html>
<html>
    <head>
        <title><?php echo $title; ?></title>
Run Code Online (Sandbox Code Playgroud)

你会认为这么简单的事情会起作用.
唉,事实并非如此.该echo $title;内的部分<title></title>不拿起改变的变量.它简单地显示"|无限电机",因为它没有if ()改变它.
我对这些全局变量和东西有点困惑,所以有人可以在这里解释错误吗?

更新:似乎我忘了添加一些我认为不重要的东西:
1)是的,我已经basename(__FILE__)在主体测试并得到了"index.php".
2)是的,我在头文件中使用它,然后included在其他文件中.

Glo*_*del 5

我想你正在使用这个代码include.根据文件,__FILE__返回

已解决符号链接的文件的完整路径和文件名.如果在include中使用,则返回包含文件的名称.

  • 我不确定这是否是最佳实践,但您可以在每个页面的顶部定义一个`$ title`变量,然后立即调用`include`.包含不需要位于页面顶部. (2认同)