8 file.inc file_create_url($uri)
4.6 file.inc file_create_url($path)
4.7 file.inc file_create_url($path)
5 file.inc file_create_url($path)
6 file.inc file_create_url($path)
7 file.inc file_create_url($uri)

Create the download path to a file.


$path A string containing the path of the file to generate URL for.:

Return value

A string containing a URL that can be used to download the file.

Related topics

5 calls to file_create_url()
blogapi_metaweblog_new_media_object in modules/blogapi/blogapi.module
Blogging API callback. Inserts a file into Drupal.
template_preprocess_user_picture in modules/user/user.module
Process variables for user-picture.tpl.php.
theme_upload_attachments in modules/upload/upload.module
Displays file attachments in table
upload_nodeapi in modules/upload/upload.module
Implementation of hook_nodeapi().
_upload_form in modules/upload/upload.module


includes/file.inc, line 40
API for handling file uploads and server file management.


function file_create_url($path) {
  // Strip file_directory_path from $path. We only include relative paths in URLs.
  if (strpos($path, file_directory_path() . '/') === 0) {
    $path = trim(substr($path, strlen(file_directory_path())), '\\/');
  switch (variable_get('file_downloads', FILE_DOWNLOADS_PUBLIC)) {
      return $GLOBALS['base_url'] . '/' . file_directory_path() . '/' . str_replace('\\', '/', $path);
      return url('system/files/' . $path, array('absolute' => TRUE));


Note that this function behaves very differently in Drupal 7. When it comes time to port to D7, try combining this function with file_build_uri() like this:

= file_create_url(file_build_uri('images/example.jpeg'));