function file_stream_wrapper_get_instance_by_uri

Returns a reference to the stream wrapper class responsible for a given URI.

The scheme determines the stream wrapper class that should be used by consulting the stream wrapper registry.


$uri: A stream, referenced as "scheme://target".

Return value

Returns a new stream wrapper object appropriate for the given URI or FALSE if no registered handler could be found. For example, a URI of "private://example.txt" would return a new private stream wrapper object (DrupalPrivateStreamWrapper).

Related topics

5 calls to file_stream_wrapper_get_instance_by_uri()
drupal_chmod in drupal/includes/
Sets the permissions on a file or directory.
drupal_realpath in drupal/includes/
Resolves the absolute filepath of a local URI or filepath.
file_create_url in drupal/includes/
Creates a web-accessible URL for a stream to an external or local file.
file_get_mimetype in drupal/includes/
Determines an Internet Media Type or MIME type from a filename.
StreamWrapperTest::testUriFunctions in drupal/modules/simpletest/tests/file.test
Test the URI and target functions.


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


function file_stream_wrapper_get_instance_by_uri($uri) {
  $scheme = file_uri_scheme($uri);
  $class = file_stream_wrapper_get_class($scheme);
  if (class_exists($class)) {
    $instance = new $class();
    return $instance;
  else {
    return FALSE;