1

我有一个文件,functions.php。该文件中有一些指向特定位置的函数,例如:

function returnFolders() {
    $folders = array_filter(glob("images/*"), 'is_dir');
    return $folders;
}

此函数返回 images/ 文件夹中的目录,其中 functions.php 文件所在的位置。

问题是,如果我从另一个文件夹中的脚本中包含这个 function.php,而不是 function.php 所在的文件夹,这个函数将不会给出正确的结果。

如何解决这个问题,所以它总是会返回functions.php所在的文件夹?

路径如下所示:

common/functions.php
common/images/1
common/images/2
common/crons/im_including_functions.php
dir1/im_also_including_functions.php
d3/me_too.php
4

2 回答 2

1

检查魔术常数

例如,您可以使用__DIR__获取当前脚本目录。

在不了解您的目录结构的情况下,我真的不能更具体。


再想一想,在我看来,对于您的情况,更好的解决方案是使用images文件夹的绝对路径。这样,无论这个函数在哪里运行,它都会images在同一个地方寻找。

于 2013-02-26T18:22:57.877 回答
0

当您使用相对路径时,它与相对路径和绝对路径有关,它从运行代码的文件开始

所以首先你应该了解这两种类型的路径

http://webdesign.about.com/od/beginningtutorials/a/aa040502a.htm

稍后您可以找到解决此问题的最佳方法

有关路径 http://php.net/manual/en/function.realpath.php的 php 函数的一些帮助

希望这有帮助;)

于 2013-02-26T18:28:44.380 回答