1

Do you think it is preferred to use $_SERVER['DOCUMENT_ROOT'] in website's include statements? Is it supported everywhere without any problem?

Yi Jiang
  • 49,435
  • 16
  • 136
  • 136

2 Answers2

5

Many frameworks use dirname(__FILE__) to work out the application path based on a known file, usually the index.php

In the Zend Framework, they use the following to define the application path, which is then used everywhere in the app:

define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application');
Paul Bain
  • 4,364
  • 1
  • 16
  • 30
1

I personally prefer relative paths: include("../../some/other/path.php") Whenever I create a directory, I know exactly how my directory tree is setup, and it doesn't matter whether there is a document root or anything else available.

Furthermore, there are some cases where $_SERVER['DOCUMENT_ROOT'] may not work (eg, I have seen people have issues with it on IIS).

cegfault
  • 6,442
  • 3
  • 27
  • 49