root path for php files in Linux apache
Solution 1
If your document root is /var/www/
then you can use:
include $_SERVER['DOCUMENT_ROOT'] . '/include/header.php';
Typically, PHP gets the DOCUMENT_ROOT
correct so you can usually rely on that.
If you want to include the file relative to the script that is doing the include, you can do:
include dirname(__FILE__) . '/../include/header.php';
Solution 2
The leading slash indicates an absolute path. Most applications will define an APP_ROOT
constant or something similar early in the cycle to solve these problems.
define('APP_ROOT', dirname(__FILE__));
Then later on you can include files with:
include(APP_ROOT . '/includes/header.php');
Solution 3
I would try the following
include_once($_SERVER['DOCUMENT_ROOT'].'/include/header.php');
mk_89
Updated on June 14, 2022Comments
-
mk_89 almost 2 years
I am having problems with locating files with php
include
on my Ubuntu server.structure of site
/var/www/ home/index.php include/header.php
When I try to insert the following
include_once('/include/header.php')
in the file home/index.php it does not work.however if I change that to
include_once('../include/header.php')
, it works fine, but to have consistency through out my site I can't allow thisWhat is the best way to fix this?
-
mk_89 over 11 yearsThanks this works, it's only a shame there's no dreamweaver user friendly solution
-
drew010 over 11 yearsWhy doesn't dreamweaver like it?
-
mk_89 over 11 yearsit doesn't let you preview php files from the top file navigation, but I guess it's not a big deal