CSDN - CSDN社区 - PHP - 基础编程想实现csdn的这种页面导航,原来准备用数组模拟访问结构,但是uri每次只能拿到当前页面的,那么他的上级页的访问地址无法处理。比如访问到了基础编程,就只能知道PHP的url,但是csdn的url无法取到。
大家有没有什么解决方案,这里讨论下啊?

解决方案 »

  1.   

    我也正考虑类似的问题。既然你用了数组,干嘛不用二维数组,把所有上下级关系都写进去并保存成文件(变量)。当前URL是 array[0][1],那么上一级就是array[1][1]
      

  2.   

    这个是目录树的问题,也可以是sitemap层级和总数都不大的可以用数组/xml定义
    层级大,数量不大的可以用xml定义
    两者都大的建议用数据库
    我个人是比较喜欢xml,一句xpath就能解决多级跳跃
      

  3.   

    数组中记录一个parent,$arr = array( '1' => array(name='CSDN', parent=>0),
    '2' => array(name='CSDN社区', parent=>1),
    '3' => array(name='PHP', parent=>2),
    '4' => array(name='基础编程', parent=>3),
    );$link = '';
    $current = 4;
    while($current != 0) {
    $link => '->' . $arr[$current]['name'] . $link;
    $current = $arr[$current]['parent'];
    }