Same name and namespace in other branches
  1. 4.6.x includes/file.inc \file_create_path()
  2. 4.7.x includes/file.inc \file_create_path()
  3. 6.x includes/file.inc \file_create_path()

Make sure the destination is a complete path and resides in the file system directory, if it is not prepend the file system directory.

Parameters

$dest A string containing the path to verify. If this value is: omitted, Drupal's 'files' directory will be used.

Return value

A string containing the path to file, with file system directory appended if necessary, or FALSE if the path is invalid (i.e. outside the configured 'files' or temp directories).

Related topics

9 calls to file_create_path()
drupal_build_css_cache in includes/common.inc
Aggregate and optimize CSS files, putting them in the files directory.
drupal_clear_css_cache in includes/common.inc
Delete all cached CSS files.
file_copy in includes/file.inc
Copies a file to a new location. This is a powerful function that in many ways performs like an advanced version of copy().
file_transfer in includes/file.inc
Transfer file using http to client. Pipes a file through Drupal to the client.
theme_upload_attachments in modules/upload/upload.module
Displays file attachments in table

... See full list

File

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

Code

function file_create_path($dest = 0) {
  $file_path = file_directory_path();
  if (!$dest) {
    return $file_path;
  }

  // file_check_location() checks whether the destination is inside the Drupal files directory.
  if (file_check_location($dest, $file_path)) {
    return $dest;
  }
  else {
    if (file_check_location($dest, file_directory_temp())) {
      return $dest;
    }
    else {
      if (file_check_location($file_path . '/' . $dest, $file_path)) {
        return $file_path . '/' . $dest;
      }
    }
  }

  // File not found.
  return FALSE;
}