PHP - Relative paths "require"
Solution 1
If you find that relative include paths aren't working as expected, a quick fix is to prepend __DIR__
to the front of the path you're trying to include.
require __DIR__ . "/../blog.php";
It's reasonably clean, and you don't need to modify the include path or working directory.
Solution 2
You need to set the include_path
in your php.ini.
If you want to set it at run-time, use set_include_path()
.
Solution 3
If you are including this files db.php and functions.php
in index.php
then you have to write this code
require "../db.php";
require "../functions.php";
OR if you are including this files in blog.php
then write this code
require "db.php";
require "functions.php";
Rafay
Updated on July 05, 2022Comments
-
Rafay almost 2 years
My directory structure looks like this:
blog -> admin -> index.php blog.php db.php functions.php
I have been trying to
include
(require
, really)blog.php
in theadmin/index.php
, but facing lots of errors. I'm following a PHP course, and the instructor does the same thing successfully.admin/index.php:
require "../blog.php";
which, in turn, requires two more files in its directory.
require "db.php"; require "functions.php";