尝试使用RecursiveIteratorIterator在PHP中创建多级动态菜单

I am trying to code a multilevel page menu navigation but not working correcly and i doubt that it is something to do with the line RecursiveIteratorIterator, any help would be appreciated .I was thinking in the solution that way but maybe I went far. Thanks for the help. Here is my code :

<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;
            }

        }

    }

    ?>

If you have resource intensive code like this for menu generation, this will seriously impact the server performance.