function file_valid_uri

Determines whether the URI has a valid scheme for file API operations.

There must be a scheme and it must be a Drupal-provided scheme like 'public', 'private', 'temporary', or an extension provided with hook_stream_wrappers().


$uri: The URI to be tested.

Return value

TRUE if the URI is allowed.

Related topics

5 calls to file_valid_uri()
file_copy in drupal/includes/
Copies a file to a new location and adds a file record to the database.
file_delete in drupal/includes/
Deletes a file and its database record.
file_move in drupal/includes/
Moves a file to a new location and update the file's database entry.
file_save_data in drupal/includes/
Saves a file to the specified destination and creates a database entry.
template_preprocess_user_picture in drupal/modules/user/user.module
Process variables for user-picture.tpl.php.


drupal/includes/, line 858
API for handling file uploads and server file management.


function file_valid_uri($uri) {

  // Assert that the URI has an allowed scheme. Barepaths are not allowed.
  $uri_scheme = file_uri_scheme($uri);
  if (empty($uri_scheme) || !file_stream_wrapper_valid_scheme($uri_scheme)) {
    return FALSE;
  return TRUE;