Stream

Extends CMSObject

Joomla! Stream Interface

deprecated

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 = []) : 
deprecated
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() : 
deprecated
since

1.7.0

deprecated

4.4 will be removed in 6.0 Use Joomla\Filesystem\Stream::__destruct() instead.

Response

mixed

__toString

Magic method to convert the object to a string gracefully.

__toString() : 
inherited deprecated
since

1.7.0

deprecated

4.3 will be removed in 6.0 Classes should provide their own __toString() implementation.

Response

stringThe classname.

_buildContext

Stream contexts Builds the context from the array

_buildContext() : 
deprecated
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) : 
deprecated
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) : 
deprecated
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 = []) : 
deprecated
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() : 
deprecated

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) : 
deprecated
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() : 
deprecated

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) : 
deprecated
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) : 
inherited deprecated
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) : 
deprecated
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) : 
deprecated
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() : 
deprecated
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() : 
deprecated
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) : 
inherited deprecated
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
deprecated
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) : 
inherited deprecated
since

1.7.0

deprecated

3.1.4 will be removed in 6.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
inherited deprecated
since

1.7.0

deprecated

3.1.4 will be removed in 6.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() : 
deprecated
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
inherited deprecated
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) : 
deprecated
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) : 
deprecated
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) : 
deprecated

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 = []) : 
deprecated
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) : 
deprecated

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) : 
deprecated
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) : 
deprecated

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) : 
inherited deprecated
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) : 
deprecated

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) : 
inherited deprecated
since

1.7.0

deprecated

3.1.4 will be removed in 6.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) : 
inherited deprecated
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

tell

Returns the current position of the file read/write pointer.

tell() : 
deprecated
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) : 
deprecated
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) : 
deprecated

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) : 
deprecated
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.

inherited deprecated
since

1.7.0

deprecated

3.1.4 JError has been deprecated

Type(s)

array<string|int, mixed>

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