2012-07-17 2 views
1

Я изучаю PHP. Я хочу создать меню, которое может открывать страницы из любых папок в каталоге сайта. Ниже приводится структура каталогов и файлов:создать меню в php-страницах в подкаталогах

ROOT DIRECTORY 
dirINCLUDES 
    header.php 
    footer.php 
    navigation.php 

dirPROJECT 
    index.php 
    project1.php 
    project2.php 

index.php 

Ниже в моем navigation.php:

<ul class="accordion" id="accordion"> 
<li><a href="index.php">home</a></li> 
<li><a href="project/index.php">project</a></li> 
</ul> 

Прямо сейчас, когда я нажимаю на «проект» ссылку, он берет меня project/index.php, но когда я нахожусь на этой странице и нажимаю на ссылку «home», она не ведет меня на домашнюю страницу. Я включил все файлы php в каталог INCLUDES в файлы index.php и project/index.php.

Любая помощь будет очень признательна. Спасибо.

+0

просто добавьте '/' в начале вашей ссылки HREF. a// ссылается на корневой каталог. –

ответ

0

Попробуйте это ...

<ul class="accordion" id="accordion"> <li><a href="../index.php">home</a></li> <li><a href="index.php">project</a></li> </ul> 
0

Попробуйте полный путь /index.php, /project/index.php и т.д.

<li><a href="/mysite/index.php">home</a></li> 
<li><a href="/mysite/project/index.php">project</a></li> 

Edited ссылки

+0

это берет файл с localhost, например:

  • project
  • будет ссылкой на localhost/project/index.php, но файл на самом деле находится в localhost/mysite/project/index.php –

    0
    href="<?echo dirname(dirname(__FILE__)).'directory/file.php';?>" 
    

    или

    href="/directory/file.php" 
    
    +0

    С кодом ур, он дает ссылка, как ---- c: \ wamp \ www \ mysite/project-select/index.php –

    +0

    , вы не должны использовать dirname для HREF, так как он даст абсолютный путь – emaillenin

    0
    function menu($dir){ 
    $files = glob($dir.'/*'); 
    $html = '<ul>'; 
    foreach($files as $file){ 
        if(is_dir($file)){ 
         $html .= menu($file); 
        }else{ 
         $html .= '<li><a href="'. $file .'">'. basename($file,'.php') .'</a></li>'; 
        } 
    } 
    $html .= '</ul>'; 
    return $html; 
    

    }

    echo menu("./*");

    +0

    , это перечисляет все файлы из всех каталогов. Я хочу создать навигацию по сайту, чтобы не показывать все страницы. –

    Смежные вопросы