function current_path

7 path.inc current_path()
8 path.inc current_path()

Return the current URL path of the page being viewed.

Examples:

This function is not available in hook_boot() so use $_GET['q'] instead. However, be careful when doing that because in the case of Example #3 $_GET['q'] will contain "path/alias". If "node/306" is needed, calling drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL) makes this function available.

Return value

The current Drupal URL path.

See also

request_path()

12 calls to current_path()
drupal_cache_system_paths in includes/path.inc
Cache system paths for a page.
drupal_lookup_path in includes/path.inc
Given an alias, return its Drupal system URL if one exists. Given a Drupal system URL return one of its aliases if such a one exists. Otherwise, return FALSE.
drupal_redirect_form in includes/form.inc
Redirects the user to a URL after a form has been processed.
drupal_validate_form in includes/form.inc
Validates user-submitted form data in the $form_state array.
overlay_drupal_goto_alter in modules/overlay/overlay.module
Implements hook_drupal_goto_alter().

... See full list

File

includes/path.inc, line 354
Functions to handle paths in Drupal, including path aliasing.

Code

function current_path() {
  return $_GET['q'];
}

Comments

Will also return URLs without the language prefix.

and here's how to get the alias:

<?php
$path
= current_path();
$path_alias = drupal_lookup_path('alias',$path);
?>

reference: http://api.drupal.org/api/drupal/includes%21path.inc/function/drupal_loo...

request_path() already gives you the *current* alias in use - see http://api.drupal.org/api/drupal/includes!bootstrap.inc/function/request...

drupal_lookup_path() is helpful when you want to lookup aliases for pages other than the current page.

not the same thing if you are on a localized site with language codes in url

print drupal_get_path_alias(current_path());  // will print "some_url"

print request_path();  // will print "en/some_url"

Using request_path() can lead to problems in conditional code and doubling up of the language code i.e 'en/en/' in some cases.

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