1

如何在 PHP 中编写以下代码:

IF 当前页面的名称是 THEN 请加载这些额外的 CSS 规则: #DIVS { color:#FFF } IF 当前页面的名称是 THEN 请加载以下 CSS 规则: #DIVS { color: #000 } pagex.php


anotherpage.php

4

4 回答 4

3

像这样:

<?php
   if (basename(__FILE__) == 'pagex.php') {
      echo '#DIVS { color:#FFF }';
   } else if (basename(__FILE__) == 'anotherpage.php') {
      echo '#DIVS { color:#000 }';
   }
?>
于 2012-08-24T07:35:09.727 回答
2

您可以只添加 HTML 头部第一个 PHP if...else 根据页面名称加载额外的样式表。

<head>
<?php
if (basename(__FILE__) == 'one.php')
     echo '<link .... src="style1.css" />';
elseif (basename(__FILE__) == 'two.php')
     echo '<link ..... src="style2.css" />';
?> 
</head>
于 2012-08-24T07:37:01.143 回答
2

您可以以自定义方式使用 wordpress 的 is_page() 函数,因为它正在处理常规 php.code 是:

<?php
$baseurl = 'http://www.example.com'; //set the base url of the site
$mypage1 = $baseurl."/pagex.php"; //add the rest of the url
    $mypage2 = $baseurl."/anotherpage.php"; //add the rest of the url
$currentPage = $baseurl.$_SERVER['REQUEST_URI'];// this gets the current page url
if($currentPage==$mypage1) {
    //do something with you style or whatever..
}
else if($currentPage==$mypage2)
{
//do something with you style or whatever..
}

?>

你必须根据你的需要改变它。我想它会帮助你。快乐编码!

于 2012-08-24T07:40:23.673 回答
2

PHP 有一些“神奇的常数”,您可以检查它们以获取这些信息。看看 `__FILE__ 常量

文件的完整路径和文件名。如果在包含中使用,则返回包含文件的名称。自 PHP 4.0.2 起,FILE始终包含一个绝对路径,其中符号链接已解析,而在旧版本中,它在某些情况下包含相对路径。

因此,您可以获取此__FILE__变量并对其执行basename()函数以获取文件名。该basename()函数返回路径的尾随名称组件。然后你只需做一个 switch case 来匹配所需的值 -

$fileName = basename(__FILE__);
switch($fileName){
  case 'pagex.php':
    echo '<link .... src="some_stylesheet_file.css" />';
    break;
  case 'anotherpage.php':
    echo '<link .... src="another_stylesheet_file.css" />';
    break;
}

您的附加 CSS 规则可以位于这些单独的文件中。

或者,如果您不想将 css 拆分为多个文件,则可以将这些特定规则回显到页面的 head 元素中,如下所示 -

echo '<style type="text/css">';
$fileName = basename(__FILE__);
switch($fileName){
  case 'pagex.php':
    echo '#DIVS { color:#FFF }';
    break;
  case 'anotherpage.php':
    echo '#DIVS { color: #000 }';
    break;
} 
echo '</style>';

参考 -

于 2012-08-24T07:40:36.520 回答