Same name and namespace in other branches
  1. 4.6.x includes/file.inc \file_create_url()
  2. 4.7.x includes/file.inc \file_create_url()
  3. 5.x includes/file.inc \file_create_url()
  4. 7.x includes/file.inc \file_create_url()
  5. 8.9.x core/includes/file.inc \file_create_url()
  6. 9 core/includes/file.inc \file_create_url()

Create the download path to a file.

Parameters

$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

4 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_form in modules/upload/upload.module

File

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

Code

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)) {
    case FILE_DOWNLOADS_PUBLIC:
      return $GLOBALS['base_url'] . '/' . file_directory_path() . '/' . str_replace('\\', '/', $path);
    case FILE_DOWNLOADS_PRIVATE:
      return url('system/files/' . $path, array(
        'absolute' => TRUE,
      ));
  }
}