2012-04-12 10 views
-3

マルチレベルのページメニューナビゲーションをコーディングしようとしていますが、それは確かに問題ありません。その方法では、しかし私は遠くに行ったかもしれない。助けてくれてありがとう。ここ は私のコードです:RecursiveIteratorIteratorを使用してPHPでマルチレベルの動的メニューを作成しようとしています

<ul id="nav"> 
     <?php 
//searchWebsitePagesPath("blog.php"); 
?> 
     <li><a href="<?php echo searchWebsitePagesPath('index.php'); ?>">Home</a></li> 
<!--  <li><a href="index.php" id="here">Home</a></li>  --> 
     <li><a href="<?php echo searchWebsitePagesPath('blog.php'); ?>">Journal</a></li> 
     <li><a href="<?php echo searchWebsitePagesPath('gallery.php'); ?>">Gallery</a></li> 
     <li><a href="<?php echo searchWebsitePagesPath('files_upload.php'); ?>">Upload</a></li> 
     <li><a href="<?php echo searchWebsitePagesPath('contact.php'); ?>">contact</a></li> 
     <li><a href="<?php echo searchWebsitePagesPath('register.php'); ?>">Register</a></li> 
    </ul> 
<?php 

    function searchWebsitePagesPath($pageName){ 
     // echo ("$pageName"); 
     // $files = ""; 
     $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('.')); 

     $my_path=""; 
     $myArray=""; 
     $pathReplace=""; 
     $finalPathReplace=""; 
     foreach ($files as $file) { 

      if($file->getFilename() === $pageName){ 
       $pathReplace=str_replace (str_replace('/','\\',$_SERVER['DOCUMENT_ROOT']),'',$file->getRealPath()); 
       $finalPathReplace = $pathReplace ; 
       //   echo $finalPathReplace; 
       $myArray=explode("\\",$pathReplace) ; 
       $count= count($myArray); 
       $reverted = new ArrayIterator(array_reverse($myArray)); 
       $server_path="" ; 
       for($i=1;$i<$count;$i=$i+1) { 
        $server_path =$server_path."../"; 
       } 

       $my_path=$server_path.$reverted[$count-1]; 
      } 

     } 

     $my_path="\"$my_path\"" ; 
     $files = ""; 
     $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("$my_path")); 
     foreach ($files as $file) { 

      if($file->getFilename() === $pageName){ 
       $pathReplace=str_replace (str_replace('/','\\',$_SERVER['DOCUMENT_ROOT']),'',$file->getRealPath()); 
       $finalPathReplace ='/'.str_replace ('\\','/',$pathReplace) ; 
       return $finalPathReplace; 
      } 

     } 

    } 

    ?> 
+0

_relevant_コードに絞って_question_を明確に記述してください。 –

答えて

0

メニューを生成するため、このような集中的なコードリソースがある場合、これは真剣に、サーバーのパフォーマンスに影響を与えます。

+0

ダイナミックナビゲーションメニューを動的に作成して、すべてのパスを入力する必要はありませんか?ありがとうございました 。 – user1207965

関連する問題