Stream
Joomla! Stream Interface
The Joomla! stream interface is designed to handle files as streams where as the legacy File static class treated files in a rather atomic manner.
| note |
This class adheres to the stream wrapper operations: |
|---|---|
| link |
PHP Stream Manual Stream Wrappers Stream Filters Socket Transports (used by some options, particularly HTTP proxy) |
| since |
1.7.0 |
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream instead. |
| package |
Joomla CMS |
Methods
__construct
Constructor
__construct( writeprefix = '', readprefix = '', mixed||string|int context = []) :
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::__construct() instead. |
Arguments
- writeprefix
stringPrefix of the stream (optional). Unlike the JPATH_*, this has a final path separator!- readprefix
stringThe read prefix (optional).- context
array<string|int, mixed>The context options (optional).
Response
mixed
__destruct
Destructor
__destruct() :
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::__destruct() instead. |
Response
mixed
_buildContext
Stream contexts Builds the context from the array
_buildContext() :
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::_buildContext() instead. |
Response
void
_getFilename
Determine the appropriate 'filename' of a file
_getFilename( filename, mode, usePrefix, relative) :
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::_getFilename() instead. |
Arguments
- filename
stringOriginal filename of the file- mode
stringMode string to retrieve the filename- usePrefix
boolControls the use of a prefix- relative
boolDetermines if the filename given is relative. Relative paths do not have JPATH_ROOT stripped.
Response
string
addContextEntry
Adds a particular options to the context
addContextEntry( wrapper, name, value) :
| link |
Stream Context Creation Context Options for various streams |
|---|---|
| since |
1.7.0 |
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::addContextEntry() instead. |
Arguments
- wrapper
stringThe wrapper to use- name
stringThe option to set- value
stringThe value of the option
Response
void
appendFilter
Stream filters Append a filter to the chain
appendFilter( filterName, readWrite = STREAM_FILTER_READ, mixed||string|int params = []) :
| link | |
|---|---|
| since |
1.7.0 |
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::appendFilter() instead. The framework class throws Exceptions in case of error which you have to catch. |
Arguments
- filterName
stringThe key name of the filter.- readWrite
intOptional. Defaults to STREAM_FILTER_READ.- params
array<string|int, mixed>An array of params for the stream_filter_append call.
Response
mixed
applyContextToStream
Applies the current context to the stream
applyContextToStream() :
Use this to change the values of the context after you've opened a stream
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::applyContextToStream() instead. The framework class throws Exceptions in case of error which you have to catch. |
Response
mixed
chmod
Chmod wrapper
chmod( filename = '', mode) :
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::chmod() instead. The framework class throws Exceptions in case of error which you have to catch. |
Arguments
- filename
stringFile name.- mode
mixedMode to use.
Response
bool
close
Attempt to close a file handle
close() :
Will return false if it failed and true on success If the file is not open the system will return true, this function destroys the file handle as well
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::close() instead. The framework class throws Exceptions in case of error which you have to catch. |
Response
bool
copy
Copy a file from src to dest
copy( src, dest, context = null, usePrefix = true, relative = false) :
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::copy() instead. The framework class throws Exceptions in case of error which you have to catch. |
Arguments
- src
stringThe file path to copy from.- dest
stringThe file path to copy to.- context
resourceA valid context resource (optional) created with stream_context_create.- usePrefix
boolControls the use of a prefix (optional).- relative
boolDetermines if the filename given is relative. Relative paths do not have JPATH_ROOT stripped.
Response
mixed
def
Sets a default value if not already assigned
def( property, default = null) :
| since |
1.7.0 |
|---|---|
| deprecated |
4.3.0 will be removed in 6.0 Defining dynamic properties should not be used anymore |
Arguments
- property
stringThe name of the property.- default
mixedThe default value.
Response
mixed
delete
Delete a file
delete( filename, context = null, usePrefix = true, relative = false) :
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::delete() instead. The framework class throws Exceptions in case of error which you have to catch. |
Arguments
- filename
stringThe file path to delete.- context
resourceA valid context resource (optional) created with stream_context_create.- usePrefix
boolControls the use of a prefix (optional).- relative
boolDetermines if the filename given is relative. Relative paths do not have JPATH_ROOT stripped.
Response
mixed
deleteContextEntry
Deletes a particular setting from a context
deleteContextEntry( wrapper, name) :
| link | |
|---|---|
| since |
1.7.0 |
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::deleteContextEntry() instead. |
Arguments
- wrapper
stringThe wrapper to use- name
stringThe option to unset
Response
void
eof
Work out if we're at the end of the file for a stream
eof() :
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::eof() instead. The framework class throws Exceptions in case of error which you have to catch. |
Response
bool
filesize
Retrieve the file size of the path
filesize() :
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::filesize() instead. The framework class throws Exceptions in case of error which you have to catch. |
Response
mixed
get
Returns a property of the object or the default value if the property is not set.
get( property, default = null) :
| since |
1.7.0 |
|---|---|
| see | CMSObject::getProperties() |
| deprecated |
4.3.0 will be removed in 6.0 Create a proper getter function for the property |
Arguments
- property
stringThe name of the property.- default
mixedThe default value.
Response
mixedThe value of the property.
get_meta_data
Get the stream metadata
get_meta_data() : array|bool
| link | |
|---|---|
| since |
1.7.0 |
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::get_meta_data() instead. The framework class throws Exceptions in case of error which you have to catch. |
Response
array<string|int, mixed>|boolheader/metadata
getError
Get the most recent error message.
getError( i = null, toString = true) :
| since |
1.7.0 |
|---|---|
| deprecated |
3.1.4 will be removed in 7.0 Will be removed without replacement Catch thrown Exceptions instead of getError |
Arguments
- i
intOption error index.- toString
boolIndicates if Exception objects should return their error message.
Response
stringError message
getErrors
Return all errors, if any.
getErrors() : mixed||string|int
| since |
1.7.0 |
|---|---|
| deprecated |
3.1.4 will be removed in 7.0 Will be removed without replacement Catch thrown Exceptions instead of getErrors |
Response
array<string|int, mixed>Array of error messages.
getFileHandle
Return the internal file handle
getFileHandle() :
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::getFileHandle() instead. |
Response
resourceFile handler
getProperties
Returns an associative array of object properties.
getProperties( public = true) : mixed||string|int
| since |
1.7.0 |
|---|---|
| see | CMSObject::get() |
| deprecated |
4.3.0 will be removed in 6.0 Create a proper getter function for the property |
Arguments
- public
boolIf true, returns only the public properties.
Response
array<string|int, mixed>
gets
Get a line from the stream source.
gets( length) :
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::gets() instead. The framework class throws Exceptions in case of error which you have to catch. |
Arguments
- length
intThe number of bytes (optional) to read.
Response
mixed
move
Moves a file
move( src, dest, context = null, usePrefix = true, relative = false) :
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::move() instead. The framework class throws Exceptions in case of error which you have to catch. |
Arguments
- src
stringThe file path to move from.- dest
stringThe file path to move to.- context
resourceA valid context resource (optional) created with stream_context_create.- usePrefix
boolControls the use of a prefix (optional).- relative
boolDetermines if the filename given is relative. Relative paths do not have JPATH_ROOT stripped.
Response
mixed
open
Generic File Operations
open( filename, mode = 'r', useIncludePath = false, context = null, usePrefix = false, relative = false, detectProcessingMode = false) :
Open a stream with some lazy loading smarts
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::open() instead. The framework class throws Exceptions in case of error which you have to catch. |
Arguments
- filename
stringFilename- mode
stringMode string to use- useIncludePath
boolUse the PHP include path- context
resourceContext to use when opening- usePrefix
boolUse a prefix to open the file- relative
boolFilename is a relative path (if false, strips JPATH_ROOT to make it relative)- detectProcessingMode
boolDetect the processing method for the file and use the appropriate function to handle output automatically
Response
bool
prependFilter
Prepend a filter to the chain
prependFilter( filterName, readWrite = STREAM_FILTER_READ, mixed||string|int params = []) :
| link | |
|---|---|
| since |
1.7.0 |
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::prependFilter() instead. The framework class throws Exceptions in case of error which you have to catch. |
Arguments
- filterName
stringThe key name of the filter.- readWrite
intOptional. Defaults to STREAM_FILTER_READ.- params
array<string|int, mixed>An array of params for the stream_filter_prepend call.
Response
mixed
read
Read a file
read( length) :
Handles user space streams appropriately otherwise any read will return 8192
| link | |
|---|---|
| since |
1.7.0 |
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::read() instead. The framework class throws Exceptions in case of error which you have to catch. |
Arguments
- length
intLength of data to read
Response
mixed
removeFilter
Remove a filter, either by resource (handed out from the append or prepend function) or via getting the filter list)
removeFilter( &resource, byindex = false) :
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::removeFilter() instead. The framework class throws Exceptions in case of error which you have to catch. |
Arguments
- resource
resourceThe resource.- byindex
boolThe index of the filter.
Response
boolResult of operation
seek
Seek the file
seek( offset, whence = SEEK_SET) :
Note: the return value is different to that of fseek
| link | |
|---|---|
| since |
1.7.0 |
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::seek() instead. The framework class throws Exceptions in case of error which you have to catch. |
Arguments
- offset
intOffset to use when seeking.- whence
intSeek mode to use.
Response
boolTrue on success, false on failure
set
Modifies a property of the object, creating it if it does not already exist.
set( property, value = null) :
| since |
1.7.0 |
|---|---|
| deprecated |
4.3.0 will be removed in 6.0 Create a proper setter function for the property |
Arguments
- property
stringThe name of the property.- value
mixedThe value of the property to set.
Response
mixedPrevious value of the property.
setContextOptions
Updates the context to the array
setContextOptions(mixed||string|int context) :
Format is the same as the options for stream_context_create
| link | |
|---|---|
| since |
1.7.0 |
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::setContextOptions() instead. |
Arguments
- context
array<string|int, mixed>Options to create the context with
Response
void
setError
Add an error message.
setError( error) :
| since |
1.7.0 |
|---|---|
| deprecated |
3.1.4 will be removed in 7.0 Will be removed without replacement Throw an Exception instead of using setError |
Arguments
- error
stringError message.
Response
void
setProperties
Set the object properties based on a named array/hash.
setProperties( properties) :
| since |
1.7.0 |
|---|---|
| see | CMSObject::set() |
| deprecated |
4.3.0 will be removed in 6.0 Create a proper setter function for the property |
Arguments
- properties
mixedEither an associative array or another object.
Response
bool
setUseExceptions
If true then subclasses should throw exceptions rather than use getError and setError.
setUseExceptions( value) :
| since |
5.4.0 |
|---|---|
| deprecated |
7.0 |
Arguments
- value
boolThe value to set for the field.
Response
void
shouldUseExceptions
If true then subclasses should throw exceptions rather than use getError and setError.
shouldUseExceptions() :
| since |
5.4.0 |
|---|---|
| deprecated |
7.0 |
Response
bool
tell
Returns the current position of the file read/write pointer.
tell() :
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::tell() instead. The framework class throws Exceptions in case of error which you have to catch. |
Response
mixed
upload
Upload a file
upload( src, dest, context = null, usePrefix = true, relative = false) :
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::upload() instead. The framework class throws Exceptions in case of error which you have to catch. |
Arguments
- src
stringThe file path to copy from (usually a temp folder).- dest
stringThe file path to copy to.- context
resourceA valid context resource (optional) created with stream_context_create.- usePrefix
boolControls the use of a prefix (optional).- relative
boolDetermines if the filename given is relative. Relative paths do not have JPATH_ROOT stripped.
Response
mixed
write
File write
write( &string, length, chunk) :
Whilst this function accepts a reference, the underlying fwrite will do a copy! This will roughly double the memory allocation for any write you do. Specifying chunked will get around this by only writing in specific chunk sizes. This defaults to 8192 which is a sane number to use most of the time (change the default with JStream::set('chunksize', newsize);) Note: This doesn't support gzip/bzip2 writing like reading does
| link | |
|---|---|
| since |
1.7.0 |
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::write() instead. The framework class throws Exceptions in case of error which you have to catch. |
Arguments
- string
stringReference to the string to write.- length
intLength of the string to write.- chunk
intSize of chunks to write in.
Response
bool
writeFile
Writes a chunk of data to a file.
writeFile( filename, &buffer) :
| since |
1.7.0 |
|---|---|
| deprecated |
4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::writeFile() instead. |
Arguments
- filename
stringThe file name.- buffer
stringThe data to write to the file.
Response
bool
Properties
_errors
An array of error messages or Exception objects.
| since |
1.7.0 |
|---|---|
| deprecated |
3.1.4 JError has been deprecated |
Type(s)
array<string|int, mixed>
useExceptions
Use exceptions rather than getError/setError.
| since |
5.4.0 |
|---|---|
| deprecated |
7.0 |
Type(s)
bool
filemode
File Mode
| since |
1.7.0 |
|---|
Type(s)
int
dirmode
Directory Mode
| since |
1.7.0 |
|---|
Type(s)
int
chunksize
Default Chunk Size
| since |
1.7.0 |
|---|
Type(s)
int
filename
Filename
| since |
1.7.0 |
|---|
Type(s)
string
writeprefix
Prefix of the connection for writing
| since |
1.7.0 |
|---|
Type(s)
string
readprefix
Prefix of the connection for reading
| since |
1.7.0 |
|---|
Type(s)
string
processingmethod
Read Processing method
| since |
1.7.0 |
|---|
Type(s)
string
filters
Filters applied to the current stream
| since |
1.7.0 |
|---|
Type(s)
array<string|int, mixed>
fh
File Handle
| since |
3.0.0 |
|---|
Type(s)
resource
filesize
File size
| since |
3.0.0 |
|---|
Type(s)
int
context
Context to use when opening the connection
| since |
3.0.0 |
|---|
Type(s)
resource
contextOptions
Context options; used to rebuild the context
| since |
3.0.0 |
|---|
Type(s)
array<string|int, mixed>
openmode
The mode under which the file was opened
| since |
3.0.0 |
|---|
Type(s)
string