interface StreamWrapperInterface
Same name in other branches
- 7.x includes/stream_wrappers.inc \StreamWrapperInterface
- 9 core/lib/Drupal/Core/StreamWrapper/StreamWrapperInterface.php \Drupal\Core\StreamWrapper\StreamWrapperInterface
- 8.9.x core/lib/Drupal/Core/StreamWrapper/StreamWrapperInterface.php \Drupal\Core\StreamWrapper\StreamWrapperInterface
- 11.x core/lib/Drupal/Core/StreamWrapper/StreamWrapperInterface.php \Drupal\Core\StreamWrapper\StreamWrapperInterface
Defines a Drupal stream wrapper extension.
Provides a Drupal interface and classes to implement PHP stream wrappers for public, private, and temporary files. Extends the PhpStreamWrapperInterface with methods expected by Drupal stream wrapper classes.
A stream wrapper is an abstraction of a file system that allows Drupal to use the same set of methods to access both local files and remote resources.
Note that PHP 5.2 fopen() only supports URIs of the form "scheme://target" despite the fact that according to RFC 3986 a URI's scheme component delimiter is in general just ":", not "://". Because of this PHP limitation and for consistency Drupal will only accept URIs of form "scheme://target".
Hierarchy
- interface \Drupal\Core\StreamWrapper\PhpStreamWrapperInterface
- interface \Drupal\Core\StreamWrapper\StreamWrapperInterface extends \Drupal\Core\StreamWrapper\PhpStreamWrapperInterface
Expanded class hierarchy of StreamWrapperInterface
All classes that implement StreamWrapperInterface
See also
http://www.faqs.org/rfcs/rfc3986.html
http://bugs.php.net/bug.php?id=47070
14 files declare their use of StreamWrapperInterface
- DownloadTest.php in core/
modules/ migrate/ tests/ src/ Kernel/ process/ DownloadTest.php - DummyExternalReadOnlyWrapper.php in core/
modules/ file/ tests/ file_test/ src/ StreamWrapper/ DummyExternalReadOnlyWrapper.php - DummyRemoteReadOnlyStreamWrapper.php in core/
modules/ file/ tests/ file_test/ src/ StreamWrapper/ DummyRemoteReadOnlyStreamWrapper.php - editor.admin.inc in core/
modules/ editor/ editor.admin.inc - Administration functions for editor.module.
- Editor.php in core/
modules/ editor/ src/ Entity/ Editor.php
File
-
core/
lib/ Drupal/ Core/ StreamWrapper/ StreamWrapperInterface.php, line 23
Namespace
Drupal\Core\StreamWrapperView source
interface StreamWrapperInterface extends PhpStreamWrapperInterface {
/**
* Stream wrapper bit flags that are the basis for composite types.
*
* Note that 0x0002 is skipped, because it was the value of a constant that
* has since been removed.
*/
/**
* A filter that matches all wrappers.
*/
const ALL = 0x0;
/**
* Refers to a local file system location.
*/
const LOCAL = 0x1;
/**
* Wrapper is readable (almost always true).
*/
const READ = 0x4;
/**
* Wrapper is writable.
*/
const WRITE = 0x8;
/**
* Exposed in the UI and potentially web accessible.
*/
const VISIBLE = 0x10;
/**
* Composite stream wrapper bit flags that are usually used as the types.
*/
/**
* Defines the stream wrapper bit flag for a hidden file.
*
* This is not visible in the UI or accessible via web, but readable and
* writable; for instance, the temporary directory for file uploads.
*/
const HIDDEN = 0xc;
/**
* Hidden, readable and writable using local files.
*/
const LOCAL_HIDDEN = 0xd;
/**
* Visible, readable and writable.
*/
const WRITE_VISIBLE = 0x1c;
/**
* Visible and read-only.
*/
const READ_VISIBLE = 0x14;
/**
* The default 'type' flag.
*
* This does not include StreamWrapperInterface::LOCAL, because PHP grants a
* greater trust level to local files (for example, they can be used in an
* "include" statement, regardless of the "allow_url_include" setting), so
* stream wrappers need to explicitly opt-in to this.
*/
const NORMAL = 0x1c;
/**
* Visible, readable and writable using local files.
*/
const LOCAL_NORMAL = 0x1d;
/**
* Returns the type of stream wrapper.
*
* @return int
*/
public static function getType();
/**
* Returns the name of the stream wrapper for use in the UI.
*
* @return string|\Drupal\Core\StringTranslation\TranslatableMarkup
* The stream wrapper name.
*/
public function getName();
/**
* Returns the description of the stream wrapper for use in the UI.
*
* @return string|\Drupal\Core\StringTranslation\TranslatableMarkup
* The stream wrapper description.
*/
public function getDescription();
/**
* Sets the absolute stream resource URI.
*
* This allows you to set the URI. Generally is only called by the factory
* method.
*
* @param string $uri
* A string containing the URI that should be used for this instance.
*/
public function setUri($uri);
/**
* Returns the stream resource URI.
*
* @return string
* Returns the current URI of the instance.
*/
public function getUri();
/**
* Returns a web accessible URL for the resource.
*
* This function should return a URL that can be embedded in a web page
* and accessed from a browser. For example, the external URL of
* "youtube://random_string" might be
* "http://www.youtube.com/watch?v=random_string".
*
* @return string
* Returns a string containing a web accessible URL for the resource.
*/
public function getExternalUrl();
/**
* Returns canonical, absolute path of the resource.
*
* Implementation placeholder. PHP's realpath() does not support stream
* wrappers. We provide this as a default so that individual wrappers may
* implement their own solutions.
*
* @return string
* Returns a string with absolute pathname on success (implemented
* by core wrappers), or FALSE on failure or if the registered
* wrapper does not provide an implementation.
*/
public function realpath();
/**
* Gets the name of the directory from a given path.
*
* This method is usually accessed through
* \Drupal\Core\File\FileSystemInterface::dirname(), which wraps around the
* normal PHP dirname() function, which does not support stream wrappers.
*
* @param string $uri
* An optional URI.
*
* @return string
* A string containing the directory name, or FALSE if not applicable.
*
* @see \Drupal\Core\File\FileSystemInterface::dirname()
*/
public function dirname($uri = NULL);
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overrides |
---|---|---|---|---|
PhpStreamWrapperInterface::dir_closedir | public | function | Close directory handle. | 2 |
PhpStreamWrapperInterface::dir_opendir | public | function | Open directory handle. | 2 |
PhpStreamWrapperInterface::dir_readdir | public | function | Read entry from directory handle. | 2 |
PhpStreamWrapperInterface::dir_rewinddir | public | function | Rewind directory handle. | 2 |
PhpStreamWrapperInterface::mkdir | public | function | Create a directory. | 2 |
PhpStreamWrapperInterface::rename | public | function | Renames a file or directory. | 2 |
PhpStreamWrapperInterface::rmdir | public | function | Removes a directory. | 2 |
PhpStreamWrapperInterface::stream_cast | public | function | Retrieve the underlying stream resource. | 2 |
PhpStreamWrapperInterface::stream_close | public | function | Closes stream. | 2 |
PhpStreamWrapperInterface::stream_eof | public | function | Tests for end-of-file on a file pointer. | 2 |
PhpStreamWrapperInterface::stream_flush | public | function | Flushes the output. | 2 |
PhpStreamWrapperInterface::stream_lock | public | function | Advisory file locking. | 2 |
PhpStreamWrapperInterface::stream_metadata | public | function | Sets metadata on the stream. | 2 |
PhpStreamWrapperInterface::stream_open | public | function | Opens file or URL. | 2 |
PhpStreamWrapperInterface::stream_read | public | function | Read from stream. | 2 |
PhpStreamWrapperInterface::stream_seek | public | function | Seeks to specific location in a stream. | 2 |
PhpStreamWrapperInterface::stream_set_option | public | function | Change stream options. | 2 |
PhpStreamWrapperInterface::stream_stat | public | function | Retrieve information about a file resource. | 2 |
PhpStreamWrapperInterface::stream_tell | public | function | Retrieve the current position of a stream. | 2 |
PhpStreamWrapperInterface::stream_truncate | public | function | Truncate stream. | 2 |
PhpStreamWrapperInterface::stream_write | public | function | Write to stream. | 2 |
PhpStreamWrapperInterface::unlink | public | function | Delete a file. | 2 |
PhpStreamWrapperInterface::url_stat | public | function | Retrieve information about a file. | 2 |
StreamWrapperInterface::ALL | constant | A filter that matches all wrappers. | ||
StreamWrapperInterface::dirname | public | function | Gets the name of the directory from a given path. | 2 |
StreamWrapperInterface::getDescription | public | function | Returns the description of the stream wrapper for use in the UI. | 7 |
StreamWrapperInterface::getExternalUrl | public | function | Returns a web accessible URL for the resource. | 7 |
StreamWrapperInterface::getName | public | function | Returns the name of the stream wrapper for use in the UI. | 7 |
StreamWrapperInterface::getType | public static | function | Returns the type of stream wrapper. | 2 |
StreamWrapperInterface::getUri | public | function | Returns the stream resource URI. | 2 |
StreamWrapperInterface::HIDDEN | constant | Defines the stream wrapper bit flag for a hidden file. | ||
StreamWrapperInterface::LOCAL | constant | Refers to a local file system location. | ||
StreamWrapperInterface::LOCAL_HIDDEN | constant | Hidden, readable and writable using local files. | ||
StreamWrapperInterface::LOCAL_NORMAL | constant | Visible, readable and writable using local files. | ||
StreamWrapperInterface::NORMAL | constant | The default 'type' flag. | ||
StreamWrapperInterface::READ | constant | Wrapper is readable (almost always true). | ||
StreamWrapperInterface::READ_VISIBLE | constant | Visible and read-only. | ||
StreamWrapperInterface::realpath | public | function | Returns canonical, absolute path of the resource. | 2 |
StreamWrapperInterface::setUri | public | function | Sets the absolute stream resource URI. | 2 |
StreamWrapperInterface::VISIBLE | constant | Exposed in the UI and potentially web accessible. | ||
StreamWrapperInterface::WRITE | constant | Wrapper is writable. | ||
StreamWrapperInterface::WRITE_VISIBLE | constant | Visible, readable and writable. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.