function file_stream_wrapper_get_instance_by_scheme

Returns a reference to the stream wrapper class responsible for a scheme.

This helper method returns a stream instance using a scheme. That is, the passed string does not contain a "://". For example, "public" is a scheme but "public://" is a URI (stream). This is because the later contains both a scheme and target despite target being empty.

Note: the instance URI will be initialized to "scheme://" so that you can make the customary method calls as if you had retrieved an instance by URI.

Parameters

$scheme: If the stream was "public://target", "public" would be the scheme.

Return value

Returns a new stream wrapper object appropriate for the given $scheme. For example, for the public scheme a stream wrapper object (DrupalPublicStreamWrapper). FALSE is returned if no registered handler could be found.

Related topics

4 calls to file_stream_wrapper_get_instance_by_scheme()
drupal_tempnam in includes/file.inc
Creates a file with a unique filename in the specified directory.
file_test_file_url_alter in modules/simpletest/tests/file_test.module
Implements hook_file_url_alter().
hook_file_url_alter in modules/system/system.api.php
Alter the URL to a file.
StreamWrapperTest::testGetInstanceByScheme in modules/simpletest/tests/file.test
Test the file_stream_wrapper_get_instance_by_scheme() function.

File

includes/file.inc, line 345

Code

function file_stream_wrapper_get_instance_by_scheme($scheme) {
    $class = file_stream_wrapper_get_class($scheme);
    if (class_exists($class)) {
        $instance = new $class();
        $instance->setUri($scheme . '://');
        return $instance;
    }
    else {
        return FALSE;
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.