2012-04-12 2 views
-3

다단계 페이지 메뉴 탐색을 코딩하지만 correcly 작업을하지 않으려 고합니다.이 코드가 RecursiveIteratorIterator 행과 관련이 있는지 의심 스럽습니다. 그런 식으로 해결책을 찾았지만 어쩌면 내가 멀리 갔다. 도와 주셔서 감사합니다. 당신이 메뉴 생성을 위해이 같은 집중적 인 코드 자원이있는 경우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

관련 문제