2017-02-15 25 views
0
得到错误的目录

我的PHP面包屑代码如下,问题是,这是我的目录需要帮助我的PHP代码上的面包屑

http://domain.com/folder

使用下面的代码,我得到这样

目录

Home » » Folder代替Home » Folder

我不知道什么是错的代码

<?php 
    $file = basename($_SERVER["PHP_SELF"]); 

    $filename = (count(explode('.', $file)) === 1 ? $file : implode('.', array_slice(explode('.', $file), 0, (count(explode('.', $file))-1)))); 

    $Pages = array(
     $filename => 'Folder' 
    ); 

    $path = $_SERVER["PHP_SELF"]; 
    $parts = explode('/',$path); 
    if (count($parts) < 2) 
    { 
    echo("home"); 
    } 
    else 
    { 
    echo ("<a href=\"http://domain.com\">Home</a> &raquo; "); 
    for ($i = 1; $i < count($parts); $i++) 
     { 
     if (!strstr($parts[$i],".")) 
      { 
      echo("<a href=\""); 
      for ($j = 0; $j <= $i; $j++) {echo $parts[$j]."/";}; 
      echo("\">". str_replace('-', ' ', $Pages[$parts[$i]])."</a> &raquo; "); 
      } 
     else 
      { 
      $str = $parts[$i]; 
      $pos = strrpos($str,"."); 
      $parts[$i] = substr($str, 0, $pos); 
      echo str_replace('-', ' ', $Pages[$parts[$i]]); 
      }; 
     }; 
    }; 
?> 

这是我的第二代码

<?php 
    $file = basename("/".$_SERVER["PHP_SELF"]); 

    $filename = (count(explode('.', $file)) === 1 ? $file : implode('.', array_slice(explode('.', $file), 0, (count(explode('.', $file))-1)))); 
    $Pages = array(
     'folder' => 'Folder', 
     $filename => 'Folder' 
    ); 

    $path = "/".$_SERVER["PHP_SELF"]; 
    $parts = explode('/',$path); 
    if (count($parts) < 2) 
    { 
    echo("home"); 
    } 
    else 
    { 
    echo ("<a href=\"http://domain.com\">Home</a> "); 
    $cnt = count($parts); 
    for ($i = 2; $i < $cnt; $i++) 
     { 
     if (!strstr($parts[$i],".")) 
      { 
      echo("&raquo; <a href=\""); 
      for ($j = 0; $j <= $i; $j++) {echo $parts[$j]."/";}; 
      echo("\">". str_replace('-', ' ', $Pages[$parts[$i]])."</a> "); 
      } 
     else 
      { 
      $str = $parts[$i]; 
      $pos = strrpos($str,"."); 
      $parts[$i] = substr($str, 0, $pos); 
      echo str_replace('-', ' ', $Pages[$parts[$i]]); 
      }; 
     }; 
    }; 
?> 
+1

*“修复我的PHP代码“* - 听起来像是一个直接的命令。 –

+0

@ Fred-ii-对不起,这不是订单 –

+1

代码中没有JavaScript(或jQuery,显然) - 请不要标记垃圾邮件 –

回答

0

启动for环路,它使用$i作为索引与初始值2而不是1

<?php 
 
    $file = basename("/".$_SERVER["PHP_SELF"]); 
 

 
    $filename = (count(explode('.', $file)) === 1 ? $file : implode('.', array_slice(explode('.', $file), 0, (count(explode('.', $file))-1)))); 
 
    $Pages = array(
 
     $filename => 'Folder' 
 
    ); 
 

 
    $path = "/".$_SERVER["PHP_SELF"]; 
 
    $parts = explode('/',$path); 
 
    if (count($parts) < 2) 
 
    { 
 
    echo("home"); 
 
    } 
 
    else 
 
    { 
 
    echo ("<a href=\"http://domain.com\">Home</a> "); 
 
    $cnt = count($parts); 
 
    for ($i = 1; $i < $cnt; $i++) 
 
     { 
 
     if (!strstr($parts[$i],".")) 
 
      { 
 
      echo("&raquo; <a href=\""); 
 
      for ($j = 0; $j <= $i; $j++) {echo $parts[$j]."/";}; 
 
      echo("\">". str_replace('-', ' ', $Pages[$parts[$i]])."</a> "); 
 
      } 
 
     else 
 
      { 
 
      $str = $parts[$i]; 
 
      $pos = strrpos($str,"."); 
 
      $parts[$i] = substr($str, 0, $pos); 
 
      echo str_replace('-', ' ', $Pages[$parts[$i]]); 
 
      }; 
 
     }; 
 
    }; 
 
?>

+0

非常感谢亲爱的工作,但我如何使用它在这个目录中http:// domain.com/folder/folder它不起作用,如果我把2或1,或者我得到像这样的'首页»»'文件夹或像这样的'首页»文件夹»»文件夹'和页面数组我就像这样使用它 '$ Pages = array( 'folder'=>'文件夹', $ filename =>'文件夹' );' –

+0

感谢您的努力工作。但是你上次修改的内容有哪些变化? –

+0

'»'转移到循环体 –