Same name and namespace in other branches
  1. 4.6.x includes/file.inc \file_create_url()
  2. 5.x includes/file.inc \file_create_url()
  3. 6.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

5 calls to file_create_url()
blogapi_metaweblog_new_media_object in modules/blogapi.module
Blogging API callback. Inserts a file into Drupal.
fileupload_view in developer/examples/fileupload.module
Implementation of hook_view.
theme_upload_attachments in modules/upload.module
Displays file attachments in table
theme_user_picture in modules/user.module
_upload_form in modules/upload.module

File

includes/file.inc, line 28
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, NULL, NULL, TRUE);
  }
}