Stream
Extends CMSObjectJoomla! 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 |
package |
Joomla CMS |
Methods
__construct
Class constructor, overridden in descendant classes.
__construct(mixed properties = null) : mixed
since |
1.7.0 |
---|
Arguments
- properties
mixed
Either and associative array or another object to set the initial properties of the object.
Response
mixed
__destruct
Destructor
__destruct() : mixed
since |
1.7.0 |
---|
Response
mixed
__toString
Magic method to convert the object to a string gracefully.
__toString() : string
since |
1.7.0 |
---|---|
deprecated |
3.1.4 Classes should provide their own __toString() implementation. |
Response
string
The classname.
_buildContext
Stream contexts Builds the context from the array
_buildContext() : mixed
since |
1.7.0 |
---|
Response
mixed
_getFilename
Determine the appropriate 'filename' of a file
_getFilename(string filename, string mode, bool usePrefix, bool relative) : string
since |
1.7.0 |
---|
Arguments
- filename
string
Original filename of the file- mode
string
Mode string to retrieve the filename- usePrefix
bool
Controls the use of a prefix- relative
bool
Determines 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(string wrapper, string name, string value) : void
link |
Stream Context Creation Context Options for various streams |
---|---|
since |
1.7.0 |
Arguments
- wrapper
string
The wrapper to use- name
string
The option to set- value
string
The value of the option
appendFilter
Stream filters Append a filter to the chain
appendFilter(string filterName, int readWrite = STREAM_FILTER_READ, array params = array()) : mixed
link | |
---|---|
since |
1.7.0 |
Arguments
- filterName
string
The key name of the filter.- readWrite
int
Optional. Defaults to STREAM_FILTER_READ.- params
array
An array of params for the stream_filter_append call.
Response
mixed
applyContextToStream
Applies the current context to the stream
applyContextToStream() : mixed
Use this to change the values of the context after you've opened a stream
since |
1.7.0 |
---|
Response
mixed
chmod
Chmod wrapper
chmod(string filename = '', mixed mode) : bool
since |
1.7.0 |
---|
Arguments
- filename
string
File name.- mode
mixed
Mode to use.
Response
bool
close
Attempt to close a file handle
close() : bool
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 |
---|
Response
bool
copy
Copy a file from src to dest
copy(string src, string dest, resource context = null, bool usePrefix = true, bool relative = false) : mixed
since |
1.7.0 |
---|
Arguments
- src
string
The file path to copy from.- dest
string
The file path to copy to.- context
resource
A valid context resource (optional) created with stream_context_create.- usePrefix
bool
Controls the use of a prefix (optional).- relative
bool
Determines 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(string property, mixed default = null) : mixed
since |
1.7.0 |
---|
Arguments
- property
string
The name of the property.- default
mixed
The default value.
Response
mixed
delete
Delete a file
delete(string filename, resource context = null, bool usePrefix = true, bool relative = false) : mixed
since |
1.7.0 |
---|
Arguments
- filename
string
The file path to delete.- context
resource
A valid context resource (optional) created with stream_context_create.- usePrefix
bool
Controls the use of a prefix (optional).- relative
bool
Determines 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(string wrapper, string name) : void
link | |
---|---|
since |
1.7.0 |
Arguments
- wrapper
string
The wrapper to use- name
string
The option to unset
eof
Work out if we're at the end of the file for a stream
eof() : bool
since |
1.7.0 |
---|
Response
bool
filesize
Retrieve the file size of the path
filesize() : mixed
since |
1.7.0 |
---|
Response
mixed
get
Returns a property of the object or the default value if the property is not set.
get(string property, mixed default = null) : mixed
since |
1.7.0 |
---|---|
see | CMSObject::getProperties() |
Arguments
- property
string
The name of the property.- default
mixed
The default value.
Response
mixed
The value of the property.
get_meta_data
Get the stream metadata
get_meta_data() : array|bool
link | |
---|---|
since |
1.7.0 |
Response
array|bool
header/metadata
getError
Get the most recent error message.
getError(int i = null, bool toString = true) : string
since |
1.7.0 |
---|---|
deprecated |
3.1.4 JError has been deprecated |
Arguments
- i
int
Option error index.- toString
bool
Indicates if Exception objects should return their error message.
Response
string
Error message
getErrors
Return all errors, if any.
getErrors() : array
since |
1.7.0 |
---|---|
deprecated |
3.1.4 JError has been deprecated |
Response
array
Array of error messages.
getFileHandle
Return the internal file handle
getFileHandle() : resource
since |
1.7.0 |
---|
Response
resource
File handler
getProperties
Returns an associative array of object properties.
getProperties(bool public = true) : array
since |
1.7.0 |
---|---|
see | CMSObject::get() |
Arguments
- public
bool
If true, returns only the public properties.
Response
array
gets
Get a line from the stream source.
gets(int length) : mixed
since |
1.7.0 |
---|
Arguments
- length
int
The number of bytes (optional) to read.
Response
mixed
move
Moves a file
move(string src, string dest, resource context = null, bool usePrefix = true, bool relative = false) : mixed
since |
1.7.0 |
---|
Arguments
- src
string
The file path to move from.- dest
string
The file path to move to.- context
resource
A valid context resource (optional) created with stream_context_create.- usePrefix
bool
Controls the use of a prefix (optional).- relative
bool
Determines if the filename given is relative. Relative paths do not have JPATH_ROOT stripped.
Response
mixed
open
Generic File Operations
open(string filename, string mode = 'r', bool useIncludePath = false, resource context = null, bool usePrefix = false, bool relative = false, bool detectProcessingMode = false) : bool
Open a stream with some lazy loading smarts
since |
1.7.0 |
---|
Arguments
- filename
string
Filename- mode
string
Mode string to use- useIncludePath
bool
Use the PHP include path- context
resource
Context to use when opening- usePrefix
bool
Use a prefix to open the file- relative
bool
Filename is a relative path (if false, strips JPATH_ROOT to make it relative)- detectProcessingMode
bool
Detect 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(string filterName, int readWrite = STREAM_FILTER_READ, array params = array()) : mixed
link | |
---|---|
since |
1.7.0 |
Arguments
- filterName
string
The key name of the filter.- readWrite
int
Optional. Defaults to STREAM_FILTER_READ.- params
array
An array of params for the stream_filter_prepend call.
Response
mixed
read
Read a file
read(int length) : mixed
Handles user space streams appropriately otherwise any read will return 8192
link | |
---|---|
since |
1.7.0 |
Arguments
- length
int
Length 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 &resource, bool byindex = false) : bool
since |
1.7.0 |
---|
Arguments
- resource
resource
The resource.- byindex
bool
The index of the filter.
Response
bool
Result of operation
seek
Seek the file
seek(int offset, int whence = SEEK_SET) : bool
Note: the return value is different to that of fseek
link | |
---|---|
since |
1.7.0 |
Arguments
- offset
int
Offset to use when seeking.- whence
int
Seek mode to use.
Response
bool
True on success, false on failure
set
Modifies a property of the object, creating it if it does not already exist.
set(string property, mixed value = null) : mixed
since |
1.7.0 |
---|
Arguments
- property
string
The name of the property.- value
mixed
The value of the property to set.
Response
mixed
Previous value of the property.
setContextOptions
Updates the context to the array
setContextOptions(array context) : void
Format is the same as the options for stream_context_create
link | |
---|---|
since |
1.7.0 |
Arguments
- context
array
Options to create the context with
setError
Add an error message.
setError(string error) : void
since |
1.7.0 |
---|---|
deprecated |
3.1.4 JError has been deprecated |
Arguments
- error
string
Error message.
setProperties
Set the object properties based on a named array/hash.
setProperties(mixed properties) : bool
since |
1.7.0 |
---|---|
see | CMSObject::set() |
Arguments
- properties
mixed
Either an associative array or another object.
Response
bool
tell
Returns the current position of the file read/write pointer.
tell() : mixed
since |
1.7.0 |
---|
Response
mixed
upload
Upload a file
upload(string src, string dest, resource context = null, bool usePrefix = true, bool relative = false) : mixed
since |
1.7.0 |
---|
Arguments
- src
string
The file path to copy from (usually a temp folder).- dest
string
The file path to copy to.- context
resource
A valid context resource (optional) created with stream_context_create.- usePrefix
bool
Controls the use of a prefix (optional).- relative
bool
Determines if the filename given is relative. Relative paths do not have JPATH_ROOT stripped.
Response
mixed
write
File write
write(string &string, int length, int chunk) : bool
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 |
Arguments
- string
string
Reference to the string to write.- length
int
Length of the string to write.- chunk
int
Size of chunks to write in.
Response
bool
writeFile
Writes a chunk of data to a file.
writeFile(string filename, string &buffer) : bool
since |
1.7.0 |
---|
Arguments
- filename
string
The file name.- buffer
string
The data to write to the file.
Response
bool
Properties
_errors
An array of error messages or Exception objects.