PHP需要路径/相对或绝对

时间:2017-10-15 08:54:21

标签: php require relative-path

PHP的新手,试图找出相对和绝对路径如何使用require。

我的结构如下:

的index.php
/inc/db_functions.php
/inc/config.php
/login/login.php

db_functions.php包含config.php require_once 'inc/config.php';

index.php包含使用require_once 'inc/db_functions.php';

的db_functions.php

如果用户未登录,则浏览器会重定向到login.php。 最初login.php位于根文件夹中,并使用与index.php相同的require一次。它运作得很好。

现在它位于自己的子文件夹中。 我更改了require_once以使用 require_once('../inc/db_connect.php');

代码一直有效,直到它到达db_connect.php中的require_once行,然后失败。

我在login.php中将require更改为: require_once(__DIR__.'/../inc/db_connect.php');

当它到达db_connect.php

中的require_once时再次失败

我将db_connect中的require_once更改为绝对路径。再次失败了。

有没有办法解决这个问题,因为看起来包含文件的包含路径会因调用文件的位置而改变(我觉得这很有意义)但是如何让它更健壮。

1 个答案:

答案 0 :(得分:0)

db_functions.php必须包含config.php require_once'config.php';因为它们在同一个文件夹中。

一般来说,最好是使用完整路径。