function base_path

You are here

7 base_path()
4.7 base_path()
5 base_path()
6 base_path()
8 base_path()

Returns the base URL path (i.e., directory) of the Drupal installation.

base_path() adds a "/" to the beginning and end of the returned path if the path is not empty. At the very least, this will return "/".


24 calls to base_path()
AJAXFrameworkTestCase::testAJAXRender in modules/simpletest/tests/ajax.test
Test that ajax_render() returns JavaScript settings generated during the page request.
color_scheme_form_submit in modules/color/color.module
Form submission handler for color_scheme_form().
CommonURLUnitTest::testUrl in modules/simpletest/tests/common.test
Test url() with/without query, with/without fragment, absolute on/off and assert all that works when clean URLs are on and off.
drupal_add_js in includes/
Adds a JavaScript file, setting, or inline code to the page.
FileURLRewritingTest::testPublicCreatedFileURL in modules/simpletest/tests/file.test
Test the generating of rewritten public created file URLs.

... See full list

2 string references to 'base_path'
template_preprocess_maintenance_page in includes/
Process variables for maintenance-page.tpl.php.
template_preprocess_page in includes/
Preprocess variables for page.tpl.php


includes/, line 2816
Common functions that many Drupal modules will need to reference.


function base_path() {
  return $GLOBALS['base_path'];


This function is for URLs. Are you looking for the path to the Drupal installation on the server's filesystem? Try the DRUPAL_ROOT constant. (Note that, unlike what's returned by this function, there won't be a / at the end of that path.)

There is catch here, for example if you want to use get url of, than use

$url = base_path() .'files/logo.png';

If you write this

$url = base_path() .'/files/logo.png';

It will return - http://files/log.png. which is incorrect.

Technically, it will return //files/log.png, which browsers will interpret as such: //files/log.png

$GLOBALS['base_url'] =>
base_path() => /drupal/
request_uri() => /drupal/documentation?page=1
request_path() => documentation
current_path() => node/26419

I wrote a small function to find the local filesystem path, by walking step for step up, until its in the root directory and finds the relative path to

   * Returns the base filesystem path of the Drupal installation.
   * @author: Radon8472
   * @version: 1.0 (2013-10-19)
   * @return string: absolute local filesystem path of the Drupal installation.
function filesystem_base_path()
$search = "includes".DIRECTORY_SEPARATOR."";


// Walk directories up until we find the $search-path (which is relative to root)
for($path=dirname(__FILE__); !file_exists($path.DIRECTORY_SEPARATOR.$search); $path.= DIRECTORY_SEPARATOR."..")
// no need to do anything
// store the path if it one was found
$GLOBALS['filesystem_base_path'] = realpath($path);