如何在包含文件中设置opendir()中的路径?

问题描述:

在我的应用程序根文件夹中,我有一个名为'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

使用(..)到CD上一层目录

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

不会影响它在根文件夹的文件中使用标题? –

也许你可以尝试条件明智的解决方案。检查路径并决定是否使用“..”。