2017-02-15 29 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

'»'轉移到循環體 –