/Drupal 8

function drupal_current_script_url

drupal_current_script_url($query = array())

Returns the URL of the current script, with modified query parameters.

This function can be called by low-level scripts (such as install.php and update.php) and returns the URL of the current script. Existing query parameters are preserved by default, but new ones can optionally be merged in.

This function is used when the script must maintain certain query parameters over multiple page requests in order to work correctly. In such cases (for example, update.php, which requires the 'continue=1' parameter to remain in the URL throughout the update process if there are any requirement warnings that need to be bypassed), using this function to generate the URL for links to the next steps of the script ensures that the links will work correctly.


$query: (optional) An array of query parameters to merge in to the existing ones.

Return value

The URL of the current script, with query parameters modified by the passed-in $query. The URL is not sanitized, so it still needs to be run through \Drupal\Component\Utility\UrlHelper::filterBadProtocol() if it will be used as an HTML attribute value.

See also




core/includes/install.inc, line 883
API functions for installing modules and themes.


function drupal_current_script_url($query = array()) {
  $uri = $_SERVER['SCRIPT_NAME'];
  $query = array_merge(UrlHelper::filterQueryParameters(\Drupal::request()->query->all()), $query);
  if (!empty($query)) {
    $uri .= '?' . UrlHelper::buildQuery($query);
  return $uri;

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.