Php 如何根据文件名有条件地添加div?

Php 如何根据文件名有条件地添加div?,php,whmcs,Php,Whmcs,我已将此代码放在header.tpl中,但div出现在所有页面上 {if cart.php} <div> This is Cart.PHP </div> {/if} {if cart.php} 这是Cart.PHP {/if} 我希望此div仅出现在cart.php页面的标题中。使用服务器变量php\u SELF(将“/cart.php”更改为从站点根目录到cart文件所在位置的确切路径 if ($_SERVER['PHP_SELF'] == "/cart.php")

我已将此代码放在header.tpl中,但div出现在所有页面上

{if cart.php}
<div> This is Cart.PHP </div>
{/if}
{if cart.php}
这是Cart.PHP
{/if}

我希望此div仅出现在cart.php页面的标题中。

使用服务器变量php\u SELF(将“/cart.php”更改为从站点根目录到cart文件所在位置的确切路径

if ($_SERVER['PHP_SELF'] == "/cart.php") {
    echo "<div>This is cart.php</div>";
}
if($\u服务器['PHP\u SELF']==“/cart.PHP”){
echo“这是cart.php”;
}
@JaredFarrish说,您的比较总是返回true,因为您询问的是文件名(在本例中是cart.php)是否为true,而不是您认为的当前文件名

但是,这可能不适用于includes(如您的案例),您可能希望使用以下内容:

{if $smarty.server.PHP_SELF eq "/cart.php"}
    do your thing
{/if}
注意如果文件位于子目录中,则需要将其与完整路径进行比较或从字符串中提取文件名,因为
$smarty.server.PHP\u SELF
也会返回路径


为此,您可以对变量直接使用
basename
函数,也可以使用
basename($smarty.server.PHP_SELF)eq“cart.PHP”
应该足够了。

我猜他在用smarty,你的答案是phponly@Juan-您假设,因为?
if条件
意味着有一个测试。
if cart.php
意味着
如果为true,则执行
在大多数语言中,在没有比较器的情况下,
if cart.php
转换为
if“cart.php”
,这将永远(或至少通常)是正确的(是的,“cart.php”是正确的)。与之相比的是什么?谢谢它的工作原理,我只是将路径更改为/my whmcs folder/cart.php
{if $smarty.server.PHP_SELF eq "/cart.php"}
    do your thing
{/if}