如何在包含文件中设置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'是正确的)。
如何通过使用相同的头文件来克服这个问题?
答
使用(..)到CD上一层目录
include_once(dirname(__FILE__).'/../filename.php');
+0
不会影响它在根文件夹的文件中使用标题? –
答
也许你可以尝试条件明智的解决方案。检查路径并决定是否使用“..”。
您是否尝试过定义根目录并使用它? – spencdev
它是通过使用define('APP_BASE_PATH',dirname(__ FILE__));在配置文件中? –
'define('APP_BASE_PATH',dirname(__ FILE __)。'/');' – spencdev