Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-根据文件夹名称激活链接_Php_Html_Css - Fatal编程技术网

PHP-根据文件夹名称激活链接

PHP-根据文件夹名称激活链接,php,html,css,Php,Html,Css,这可能是一个简单的问题,但我刚刚开始使用PHP 我正在尝试创建一个通用头,并希望使用PHP使链接具有一个基于currant url文件夹结构的CSS类 其思想是有3个级别的导航,级别1由第一个文件夹设置,级别2由子文件夹设置,级别3由php文件名设置 例如,如果您的url为www.mysite.com/Home/Aboutus/History.php?id=1 “主页”选项将在菜单的第1级激活 “AboutUs”将在第二级激活 “历史记录”将在第3级激活 html 选项3a 选项3b 选项3

这可能是一个简单的问题,但我刚刚开始使用PHP

我正在尝试创建一个通用头,并希望使用PHP使链接具有一个基于currant url文件夹结构的CSS类

其思想是有3个级别的导航,级别1由第一个文件夹设置,级别2由子文件夹设置,级别3由php文件名设置

例如,如果您的url为www.mysite.com/Home/Aboutus/History.php?id=1

“主页”选项将在菜单的第1级激活 “AboutUs”将在第二级激活 “历史记录”将在第3级激活

html


选项3a

选项3b

选项3c

在我的标题上,底部2个菜单级别将根据在第一个菜单级别上选择的选项进行更改,为此,我将为每个选定的Optionx div赋予display:none属性,并使用与活动类类似的技术,根据在第一级菜单上选择的选项,为其中一个选定的Optionx div赋予display:block类

基本上,我想知道如何根据URL中的current文件夹,使用PHP为某个对象设置一个“active”类


谢谢,

我不确定我是否正确理解了您的问题,但这就是我如何使用一个文件进行所有导航,并且仍然保留我可能拥有的任何
class=“active”
内容

标题中的某处:

$url = $_SERVER['REQUEST_URI'];
在每个链接上,相应地更改名称

<a <?php if($url == '/studentdb/index.php'){ echo "class='active'";} ?> href="index.php">

注意:不区分大小写,而区分大小写

坦率地说,我认为您的方向不对

当然可以从PHP中执行您的请求,但最终会得到一个糟糕的、复杂的整体结构

如果你实现了这个框架,它将迫使你扭曲你的内容以适应这个任意的3层结构。你很可能最终会得到一些被设计的内容,这些内容只是因为你设计的工具强迫你这么做

此外,您将得到一个单页应用程序,其中将填充隐藏的子页。
加载和消耗更多的资源需要更长的时间,没有额外的好处,因为在加载整个文档之前,您将无法显示任何有意义的内容

尽管如此,这里有一些代码可能会显示它的外观:

$tree = array (
    "optionA" => array (
        "optionA1" => array (
            "optionA1a" => "",
            "optionA1b" => "",
            "optionA1c" => ""),
        "optionA2" => array (
            "optionA2a" => "",
            "optionA2b" => "",
            "optionA2c" => ""),
        "optionA3" => array (
            "optionA3a" => "",
            "optionA3b" => "",
            "optionA3c" => "")),
    "optionB" => array (
        "optionB1" => array (
            "optionB1a" => "",
            "optionB1b" => "",
            "optionB1c" => ""),
        "optionB2" => array (
            "optionB2a" => "",
            "optionB2b" => "",
            "optionB2c" => ""),
        "optionB3" => array (
            "optionB3a" => "",
            "optionB3b" => "",
            "optionB3c" => "")));

foreach ($tree as $n1 => $l2)
foreach ($l2   as $n2 => $l3)
foreach ($l3   as $n3 => $junk)
{
    echo "<a href=http::/whatever.what/$n1/$n2/$n3.html>...whatever...</a>";
}
$tree=数组(
“optionA”=>阵列(
“optionA1”=>阵列(
“optionA1a”=>”,
“optionA1b”=>”,
“optionA1c”=>”),
“optionA2”=>阵列(
“optionA2a”=>”,
“optionA2b”=>”,
“optionA2c”=>”),
“optionA3”=>阵列(
“optionA3a”=>”,
“optionA3b”=>”,
“optionA3c=>”),
“optionB”=>阵列(
“optionB1”=>阵列(
“选项B1A”=>”,
“选项B1B”=>”,
“optionB1c”=>”),
“optionB2”=>阵列(
“选项B2A=>”,
“optionB2b”=>“”,
“optionB2c”=>”),
“optionB3”=>阵列(
“选项B3A”=>“”,
“optionB3b”=>“”,
“optionB3c”=>”);
foreach($n1=>l2的树)
foreach($l2为$n2=>$l3)
foreach($l3为$n3=>$junk)
{
回声“;
}
如果你想要一句忠告,那就放弃制作通用框架的梦想。
通用性有利于销售产品,但实施起来很困难。

让市场部的人去做吧

你说草莓文件夹是什么意思?@user3258803这是个玩笑,是一种浆果。你指的是当前的,现在的。好吧,这让我了解了其中的一部分,但是你如何让它忽略查询字符串?以及你如何使某个东西“活动”,而不管它在“studentdb”文件夹中的哪个文件。对不起,我不明白你说的
忽略查询字符串
是什么意思。要使其处于活动状态,无论它在该文件夹中的文件是什么,您都可以使用
strop
stristr
。查看我的更新答案以了解详细信息。
<a <?php if(strpos($url, 'myDirectory') !== false){ echo "class='active'";} ?> href="index.php">
$tree = array (
    "optionA" => array (
        "optionA1" => array (
            "optionA1a" => "",
            "optionA1b" => "",
            "optionA1c" => ""),
        "optionA2" => array (
            "optionA2a" => "",
            "optionA2b" => "",
            "optionA2c" => ""),
        "optionA3" => array (
            "optionA3a" => "",
            "optionA3b" => "",
            "optionA3c" => "")),
    "optionB" => array (
        "optionB1" => array (
            "optionB1a" => "",
            "optionB1b" => "",
            "optionB1c" => ""),
        "optionB2" => array (
            "optionB2a" => "",
            "optionB2b" => "",
            "optionB2c" => ""),
        "optionB3" => array (
            "optionB3a" => "",
            "optionB3b" => "",
            "optionB3c" => "")));

foreach ($tree as $n1 => $l2)
foreach ($l2   as $n2 => $l3)
foreach ($l3   as $n3 => $junk)
{
    echo "<a href=http::/whatever.what/$n1/$n2/$n3.html>...whatever...</a>";
}