在我的应用程序根文件夹中,我有一个名为"articles"的文件夹,其中有一些文件。在我的根文件夹中,我有头文件和其他一些文件。articles目录中的文件也使用了相同的头文件。
在我的头文件中,我有一个下拉菜单,列出了articles目录中的文件。我使用了以下代码。
<?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"文件夹的文件中不起作用(但头文件仍在根文件夹内,相对于头文件,路径"./articles"是正确的)。
如何通过使用相同的头文件来克服这个问题?
使用(..)cd上一个目录
include_once(dirname(__FILE__).'/../filename.php');
也许您可以尝试一个条件式的解决方案。检查路径并决定是否使用".."。