我的目录结构如下所示:
blog -> admin -> index.php
blog.php
db.php
functions.php
我一直在include
尝试require
(blog.php
,真的)admin/index.php
,但面临很多错误。我正在学习PHP课程,教师也成功地做了同样的事情。
管理员/ index.php的:
require "../blog.php";
反过来又需要在其目录中再增加两个文件。
require "db.php";
require "functions.php";
答案 0 :(得分:28)
如果您发现相对包含路径未按预期工作,则快速解决方法是将__DIR__
添加到您尝试包含的路径的前面。
require __DIR__ . "/../blog.php";
它相当干净,您无需修改包含路径或工作目录。
答案 1 :(得分:1)
如果您在db.php and functions.php
中包含此文件index.php
,那么您必须编写此代码
require "../db.php";
require "../functions.php";
如果您要将此文件包含在blog.php
中,请编写此代码
require "db.php";
require "functions.php";
答案 2 :(得分:1)
您需要在php.ini中设置include_path
。
如果要在运行时进行设置,请使用set_include_path()
。
答案 3 :(得分:-3)
我想用chdir($_SERVER['DOCUMENT_ROOT'])
启动我的文件。这使我能够获得所有包含的良好逻辑基本路径。