2016-07-31 8 views
0

В корневой папке приложения у меня есть папка с именем «articles», в которой есть некоторые файлы. И в моей корневой папке у меня есть файл заголовка и некоторые другие файлы. Тот же заголовочный файл также используется в файлах внутри каталога статей.Как установить путь в opendir() во включенном файле?

В моем заголовочном файле у меня есть раскрывающееся меню, в котором перечислены файлы внутри каталога статей. И я использовал следующий код.

<?php 
       $dir = "./articles"; 
       if ($handle = opendir($dir)) { 

        while (false !== ($entry = readdir($handle))) { 

         if ($entry != "." && $entry != ".." && $entry != "images" && $entry != "index.php") { 
          $foo = $entry; 
          $foo = str_replace("_", " ", $foo); 
          $foo = str_replace(".php", "", $foo); 
          $foo = ucwords($foo); 
          ?> 
          <a class="dropdown-content-a" href="<?php echo "$entry" ?>"><?php echo $foo ?></a> 
          <?php 
         } 
        } 

        closedir($handle); 
       } 
       ?> 

Это прекрасно работает в файлах в корневой папке, но он не работает в файлах в папке «статьи» (Но заголовочный файл все еще находится в корневой папке и относительно заголовка файла, то путь «./articles» правильный).

Как преодолеть это, используя тот же заголовочный файл?

+0

Вы пробовали определить корневой каталог и использовать его? – spencdev

+0

С помощью define ('APP_BASE_PATH', dirname (__ FILE__)); в файле конфигурации? –

+0

'define ('APP_BASE_PATH', dirname (__ FILE __). '/');' – spencdev

ответ

2

использование (..) на компакт-диск предыдущего каталог

include_once(dirname(__FILE__).'/../filename.php'); 
+0

не влияет на это, когда заголовок используется в файлах корневой папки? –

0

Может быть, вы можете попробовать условие мудро решением. Проверьте путь и решите использовать «..» или нет.