PHP wrapper functions

Functions that are wrappers or custom implementations of PHP functions.

Certain PHP functions should not be used in Drupal. Instead, Drupal's replacement functions should be used.

For example, for improved or more secure UTF8-handling, or RFC-compliant handling of URLs in Drupal.

For ease of use and memorizing, all these wrapper functions use the same name as the original PHP function, but prefixed with "drupal_". Beware, however, that not all wrapper functions support the same arguments as the original functions.

You should always use these wrapper functions in your code.


$my_substring = substr($original_string, 0, 5);


$my_substring = drupal_substr($original_string, 0, 5);


drupal/core/includes/, line 22
Common functions that many Drupal modules will need to reference.


Namesort descending Location Description
drupal_basename drupal/core/includes/ Gets the filename from a given path.
drupal_chmod drupal/core/includes/ Sets the permissions on a file or directory.
drupal_dirname drupal/core/includes/ Gets the name of the directory from a given path.
drupal_http_build_query drupal/core/includes/ Parses an array into a valid, rawurlencoded query string.
drupal_json_decode drupal/core/includes/ Converts an HTML-safe JSON string into its PHP equivalent.
drupal_json_encode drupal/core/includes/ Converts a PHP variable into its JavaScript equivalent.
drupal_mkdir drupal/core/includes/ Creates a directory using Drupal's default mode.
drupal_move_uploaded_file drupal/core/includes/ Moves an uploaded file to a new location.
drupal_parse_url drupal/core/includes/ Parses a system URL string into an associative array suitable for url().
drupal_realpath drupal/core/includes/ Returns the absolute local filesystem path of a stream URI.
drupal_register_shutdown_function drupal/core/includes/ Registers a function for execution on shutdown.
drupal_rmdir drupal/core/includes/ Removes a directory.
drupal_session_regenerate drupal/core/includes/ Called when an anonymous user becomes authenticated or vice-versa.
drupal_session_start drupal/core/includes/ Forcefully starts a session, preserving already set session data.
drupal_set_time_limit drupal/core/includes/ Attempts to set the PHP maximum execution time.
drupal_strlen drupal/core/includes/ Count the amount of characters in a UTF-8 string. This is less than or equal to the byte count.
drupal_strtolower drupal/core/includes/ Lowercase a UTF-8 string.
drupal_strtoupper drupal/core/includes/ Uppercase a UTF-8 string.
drupal_substr drupal/core/includes/ Cut off a piece of a string based on character indices and counts. Follows the same behavior as PHP's own substr() function.
drupal_tempnam drupal/core/includes/ Creates a file with a unique filename in the specified directory.
drupal_ucfirst drupal/core/includes/ Capitalize the first letter of a UTF-8 string.
drupal_unlink drupal/core/includes/ Deletes a file.
drupal_xml_parser_create drupal/core/includes/ Prepare a new XML parser.
php_eval drupal/core/modules/php/php.module Evaluates a string of PHP code.