JStream

Extends \JObject

Joomla! Stream Interface

The Joomla! stream interface is designed to handle files as streams where as the legacy JFile static class treated files in a rather atomic manner.

package

Joomla.Platform

subpackage

FileSystem

This class adheres to the stream wrapper operations:

see

http://php.net/manual/en/function.stream-get-wrappers.php

http://php.net/manual/en/intro.stream.php

http://php.net/manual/en/wrappers.php

http://php.net/manual/en/filters.php

http://php.net/manual/en/transports.php

since

11.1

Methods

__construct

Class constructor, overridden in descendant classes.

__construct(mixed $properties = null) 
inherited
since

11.1

Arguments

$properties

mixedEither and associative array or another object to set the initial properties of the object.

__destruct

Destructor

__destruct() 
since

11.1

__toString

Magic method to convert the object to a string gracefully.

__toString() : string
inherited deprecated
since

11.1

deprecated

12.3 Classes should provide their own __toString() implementation.

Response

stringThe classname.

_buildContext

Stream contexts Builds the context from the array

_buildContext() : mixed
since

11.1

Response

mixed

_getFilename

Determine the appropriate 'filename' of a file

_getFilename(string $filename, string $mode, boolean $use_prefix, boolean $relative) : string
since

11.1

Arguments

$filename

stringOriginal filename of the file

$mode

stringMode string to retrieve the filename

$use_prefix

booleanControls the use of a prefix

$relative

booleanDetermines 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
see

http://php.net/stream_context_create

http://php.net/manual/en/context.php

since

11.1

Arguments

$wrapper

stringThe wrapper to use

$name

stringThe option to set

$value

stringThe value of the option

appendFilter

Stream filters Append a filter to the chain

appendFilter(string $filtername, integer $read_write = STREAM_FILTER_READ, array $params = array()) : mixed
see

http://php.net/manual/en/function.stream-filter-append.php

since

11.1

Arguments

$filtername

stringThe key name of the filter.

$read_write

integerOptional. Defaults to STREAM_FILTER_READ.

$params

arrayAn 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

11.1

Response

mixed

chmod

Chmod wrapper

chmod(string $filename = '', mixed $mode) : boolean
since

11.1

Arguments

$filename

stringFile name.

$mode

mixedMode to use.

Response

boolean

close

Attempt to close a file handle

close() : boolean

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

11.1

Response

boolean

copy

Copy a file from src to dest

copy(string $src, string $dest, resource $context = null, boolean $use_prefix = true, boolean $relative = false) : mixed
since

11.1

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.

$use_prefix

booleanControls the use of a prefix (optional).

$relative

booleanDetermines if the filename given is relative. Relative paths do not have JPATH_ROOT stripped.

Response

mixed

def

Sets a default value if not alreay assigned

def(string $property, mixed $default = null) : mixed
inherited
since

11.1

Arguments

$property

stringThe name of the property.

$default

mixedThe default value.

Response

mixed

delete

Delete a file

delete(string $filename, resource $context = null, boolean $use_prefix = true, boolean $relative = false) : mixed
since

11.1

Arguments

$filename

stringThe file path to delete.

$context

resourceA valid context resource (optional) created with stream_context_create.

$use_prefix

booleanControls the use of a prefix (optional).

$relative

booleanDetermines 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
see

http://php.net/stream_context_create

since

11.1

Arguments

$wrapper

stringThe wrapper to use

$name

stringThe option to unset

eof

Work out if we're at the end of the file for a stream

eof() : boolean
since

11.1

Response

boolean

filesize

Retrieve the file size of the path

filesize() : mixed
since

11.1

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
inherited
since

11.1

see \JObject::getProperties()

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
see

http://php.net/manual/en/function.stream-get-meta-data.php

since

11.1

Response

arrayheader/metadata

getError

Get the most recent error message.

getError(integer $i = null, boolean $toString = true) : string
inherited deprecated
since

11.1

see \JError
deprecated

12.3 JError has been deprecated

Arguments

$i

integerOption error index.

$toString

booleanIndicates if JError objects should return their error message.

Response

stringError message

getErrors

Return all errors, if any.

getErrors() : array
inherited deprecated
since

11.1

see \JError
deprecated

12.3 JError has been deprecated

Response

arrayArray of error messages or JErrors.

getFileHandle

Return the internal file handle

getFileHandle() : \File
since

11.1

Response

\Filehandler

getProperties

Returns an associative array of object properties.

getProperties(boolean $public = true) : array
inherited
since

11.1

see \JObject::get()

Arguments

$public

booleanIf true, returns only the public properties.

Response

array

gets

Get a line from the stream source.

gets(integer $length) : mixed
since

11.1

Arguments

$length

integerThe number of bytes (optional) to read.

Response

mixed

move

Moves a file

move(string $src, string $dest, resource $context = null, boolean $use_prefix = true, boolean $relative = false) : mixed
since

11.1

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.

$use_prefix

booleanControls the use of a prefix (optional).

$relative

booleanDetermines 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', boolean $use_include_path = false, resource $context = null, boolean $use_prefix = false, boolean $relative = false, boolean $detectprocessingmode = false) : boolean

Open a stream with some lazy loading smarts

since

11.1

Arguments

$filename

stringFilename

$mode

stringMode string to use

$use_include_path

booleanUse the PHP include path

$context

resourceContext to use when opening

$use_prefix

booleanUse a prefix to open the file

$relative

booleanFilename is a relative path (if false, strips JPATH_ROOT to make it relative)

$detectprocessingmode

booleanDetect the processing method for the file and use the appropriate function to handle output automatically

Response

boolean

prependFilter

Prepend a filter to the chain

prependFilter(string $filtername, integer $read_write = STREAM_FILTER_READ, array $params = array()) : mixed
see

http://php.net/manual/en/function.stream-filter-prepend.php

since

11.1

Arguments

$filtername

stringThe key name of the filter.

$read_write

integerOptional. Defaults to STREAM_FILTER_READ.

$params

arrayAn array of params for the stream_filter_prepend call.

Response

mixed

read

Read a file

read(integer $length) : mixed

Handles user space streams appropriately otherwise any read will return 8192

see

http://php.net/manual/en/function.fread.php

since

11.1

Arguments

$length

integerLength 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, boolean $byindex = false) : boolean
since

11.1

Arguments

$resource

$byindex

booleanThe index of the filter.

Response

booleanResult of operation

seek

Seek the file

seek(integer $offset, integer $whence = SEEK_SET) : boolean

Note: the return value is different to that of fseek

see

http://php.net/manual/en/function.fseek.php

since

11.1

Arguments

$offset

integerOffset to use when seeking.

$whence

integerSeek mode to use.

Response

booleanTrue 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
inherited
since

11.1

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(array $context) : void

Format is the same as the options for stream_context_create

see

http://php.net/stream_context_create

since

11.1

Arguments

$context

arrayOptions to create the context with

setError

Add an error message.

setError(string $error) : void
inherited deprecated
since

11.1

see \JError
deprecated

12.3 JError has been deprecated

Arguments

$error

stringError message.

setProperties

Set the object properties based on a named array/hash.

setProperties(mixed $properties) : boolean
inherited
since

11.1

see \JObject::set()

Arguments

$properties

mixedEither an associative array or another object.

Response

boolean

tell

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

tell() : mixed
since

11.1

Response

mixed

toString

Converts the object to a string (the class name).

toString() : string
inherited deprecated
since

11.1

deprecated

12.1 Use magic method __toString()

see \JObject::__toString()

Response

string

upload

Upload a file

upload(string $src, string $dest, resource $context = null, boolean $use_prefix = true, boolean $relative = false) : mixed
since

11.1

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.

$use_prefix

booleanControls the use of a prefix (optional).

$relative

booleanDetermines if the filename given is relative. Relative paths do not have JPATH_ROOT stripped.

Response

mixed

write

File write

write( &$string, integer $length, integer $chunk) : boolean

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

see

http://php.net/manual/en/function.fwrite.php

since

11.1

Arguments

$string

$length

integerLength of the string to write.

$chunk

integerSize of chunks to write in.

Response

boolean

writeFile

Writes a chunk of data to a file.

writeFile(string $filename,  &$buffer) : boolean
since

11.1

Arguments

$filename

stringThe file name.

$buffer

Response

boolean

Properties

filemode

File Mode

since

11.1

Type(s)

integer

dirmode

Directory Mode

since

11.1

Type(s)

integer

chunksize

Default Chunk Size

since

11.1

Type(s)

integer

filename

Filename

since

11.1

Type(s)

string

writeprefix

Prefix of the connection for writing

since

11.1

Type(s)

string

readprefix

Prefix of the connection for reading

since

11.1

Type(s)

string

processingmethod

Read Processing method

since

11.1

Type(s)

string

filters

Filters applied to the current stream

since

11.1

Type(s)

array

_fh

File Handle

since

11.1

Type(s)

array

_filesize

File size

since

11.1

Type(s)

integer

_context

Context to use when opening the connection

since

11.1

Type(s)

_contextOptions

Context options; used to rebuild the context

since

11.1

Type(s)

_openmode

The mode under which the file was opened

since

11.1

Type(s)

_errors

An array of error messages or Exception objects.

inherited deprecated
since

11.1

see \JError
deprecated

12.3 JError has been deprecated

Type(s)

array