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';
如果用户未登录,则浏览器会重定向到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更改为绝对路径。再次失败了。
有没有办法解决这个问题,因为看起来包含文件的包含路径会因调用文件的位置而改变(我觉得这很有意义)但是如何让它更健壮。
答案 0 :(得分:0)
db_functions.php必须包含config.php require_once'config.php';因为它们在同一个文件夹中。
一般来说,最好是使用完整路径。