PHP - 包含固定路径

时间:2015-08-25 15:19:25

标签: php menu path directory

  

已更新 - 已修改

我想使用来自不同目录的菜单PHP文件。

问题是当我调用文件时。例如:

Include menu.php from categories folder:http://localhost/admin/categories/categories/cars Include
Include menu.php from index folder: http://localhost/admin/categories/cars
Note that the menu file is not in a folder (index /).

问题是自动添加我在菜单路径之前调用(包含)文件的目录。我不希望这样,我希望所有文件夹的路径都是相同的,其中我包括menu.php

查看示例。在第一行,有两个类别。 “/类别/类别/".

3 个答案:

答案 0 :(得分:1)

使用include_once可能会更方便,因为这可以保证只包含一次。

此外,您最好使用绝对路径(include "/menu.php";)。您当前正在使用相对路径(include "menu.php";)。

由于PHP是服务器端语言,您可能需要从根路径中包含它,这意味着您将获得一个看起来像/home/username/public_html/menu.php的路径。最简单的方法是将menu.php包含在内:include $_SERVER['DOCUMENT_ROOT']."/menu.php";

要找到menu.php所在的确切路径(从而找出需要包含它的路径),请在menu.php中运行echo $_SERVER["SCRIPT_FILENAME"];,因为它可能是与$_SERVER['DOCUMENT_ROOT']不同的路径。

答案 1 :(得分:0)

使用绝对路径而不是相对路径。

示例:include('/ data / web / 123456 / html / settings / settings.php');

而不是 包括( '的settings.php');

此外,我认为require_once()函数在这里更合适。

答案 2 :(得分:0)

您有两种选择: 1。 @rocket给了你可能的问题答案,但是你忽略了它: 如果你包含像'/menu.php'这样的文件,请注意'/'它将包含一个依赖于根文件夹的menu.php文件。根据您的需要进行调整,但不要忘记斜线。

2。 如何使用dirname(__DIR__)作为文件名称所包含的路径。在你的情况下:

include  dirname(__DIR__).'/menu.php'