Php 使用basename(_文件_)确定页面';更改标题的名称不为';行不通
这很简单,但我想我遗漏了一些关键的东西:Php 使用basename(_文件_)确定页面';更改标题的名称不为';行不通,php,html,variables,if-statement,Php,Html,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 =
<?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>
你会认为这么简单的事情就行了。唉,事实并非如此。
echo$标题
中的code>部分不拾取已更改的变量。它简单地显示“无限电机”,就像它没有if()
改变它一样。
我对这些全局变量和东西有点困惑,有人能解释这里的错误吗
更新:似乎我忘了添加一些我认为不重要的东西:
1)是的,我已经在主体中测试了basename(\uuuu FILE\uuu)
,得到了“index.php”。
2)是的,我在头文件中使用此代码,然后头文件将包含在其他文件中。我认为您在包含中使用此代码。根据,\uuuuu文件
返回
已解析符号链接的文件的完整路径和文件名如果在包含中使用,则返回包含文件的名称。
我认为您正在包含中使用此代码。根据,\uuuuu文件
返回
已解析符号链接的文件的完整路径和文件名如果在包含中使用,则返回包含文件的名称。
var_dump(basename(_文件__))代码>@u_mulder Hm?什么意思?我应该在basename()
之前添加这个var\u dump()
吗?我的意思是你应该测试basename(\uuuu文件)
内容。只需回显文件来检查它是否回显了什么。也许你不应该以文件名开始,而是看看客户端请求了什么URL。是的,URL和文件名之间可以有直接的关联,但不一定要有。执行var\u转储($\u服务器)代码>,然后查找可能适用于此目的的值。var_dump(basename(_FILE__))代码>@u_mulder Hm?什么意思?我应该在basename()
之前添加这个var\u dump()
吗?我的意思是你应该测试basename(\uuuu文件)
内容。只需回显文件来检查它是否回显了什么。也许你不应该以文件名开始,而是看看客户端请求了什么URL。是的,URL和文件名之间可以有直接的关联,但不一定要有。执行var\u转储($\u服务器)代码>,然后查找可能适合此目的的值。我明白了。一定是这样。如果要在多个其他页面中包含头文件,您认为应该如何解决?我不确定这是否是最佳做法,但您可以在每个页面顶部定义一个$title
变量,然后立即调用include
。Includes不需要在页面顶部。我明白了。一定是这样。如果要在多个其他页面中包含头文件,您认为应该如何解决?我不确定这是否是最佳做法,但您可以在每个页面顶部定义一个$title
变量,然后立即调用include
。包含不需要在页面顶部。