PHP - Relative paths "require"

32,250

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";
Share:
32,250
Rafay
Author by

Rafay

Updated on July 05, 2022

Comments

  • Rafay
    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 the admin/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";