Stream
Joomla! 流接口
Joomla! 流接口旨在将文件作为流进行处理,而旧版 File 静态类则以原子方式处理文件。
注意 |
此类遵循流包装器操作 |
---|---|
链接 |
PHP 流手册 流包装器 流过滤器 套接字传输(某些选项使用,特别是 HTTP 代理) |
自 |
1.7.0 |
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream 代替。 |
包 |
Joomla CMS |
方法
__construct
构造函数
__construct( writeprefix = '', readprefix = '', mixed||string|int context = []) :
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::__construct() 代替。 |
参数
- writeprefix
string
流的前缀(可选)。与 JPATH_* 不同,它有一个最后的路径分隔符!- readprefix
string
读取前缀(可选)。- context
array<string|int, mixed>
上下文选项(可选)。
响应
mixed
__destruct
析构函数
__destruct() :
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::__destruct() 代替。 |
响应
mixed
_buildContext
流上下文 从数组构建上下文
_buildContext() :
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::_buildContext() 代替。 |
响应
void
_getFilename
确定文件的适当“文件名”
_getFilename( filename, mode, usePrefix, relative) :
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::_getFilename() 代替。 |
参数
- filename
string
文件的原始文件名- mode
string
用于检索文件名的模式字符串- usePrefix
bool
控制是否使用前缀- relative
bool
确定给定的文件名是否为相对路径。相对路径不会被剥离 JPATH_ROOT。
响应
string
addContextEntry
向上下文添加特定选项
addContextEntry( wrapper, name, value) :
链接 |
流上下文创建 各种流的上下文选项 |
---|---|
自 |
1.7.0 |
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::addContextEntry() 代替。 |
参数
- wrapper
string
要使用的包装器- name
string
要设置的选项- value
string
选项的值
响应
void
appendFilter
流过滤器 将过滤器附加到链中
appendFilter( filterName, readWrite = STREAM_FILTER_READ, mixed||string|int params = []) :
链接 | |
---|---|
自 |
1.7.0 |
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::appendFilter() 代替。框架类在发生错误时会抛出异常,您必须捕获这些异常。 |
参数
- filterName
string
过滤器的键名。- readWrite
int
可选。默认为 STREAM_FILTER_READ。- params
array<string|int, mixed>
用于 stream_filter_append 调用的参数数组。
响应
mixed
applyContextToStream
将当前上下文应用于流
applyContextToStream() :
使用它在打开流后更改上下文的 value。
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::applyContextToStream() 代替。框架类在发生错误时会抛出异常,您必须捕获这些异常。 |
响应
mixed
chmod
Chmod 包装器
chmod( filename = '', mode) :
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::chmod() 代替。框架类在发生错误时会抛出异常,您必须捕获这些异常。 |
参数
- filename
string
文件名。- mode
mixed
要使用的模式。
响应
bool
close
尝试关闭文件句柄
close() :
如果失败将返回 false,成功则返回 true。如果文件未打开,系统将返回 true,此函数还会销毁文件句柄
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::close() 代替。框架类在发生错误时会抛出异常,您必须捕获这些异常。 |
响应
bool
copy
将文件从 src 复制到 dest
copy( src, dest, context = null, usePrefix = true, relative = false) :
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::copy() 代替。框架类在发生错误时会抛出异常,您必须捕获这些异常。 |
参数
- src
string
要复制的文件路径。- dest
string
要复制到的文件路径。- context
resource
有效的上下文资源(可选),使用 stream_context_create 创建。- usePrefix
bool
控制是否使用前缀(可选)。- relative
bool
确定给定的文件名是否为相对路径。相对路径不会被剥离 JPATH_ROOT。
响应
mixed
def
如果尚未分配,则设置默认值
def( property, default = null) :
自 |
1.7.0 |
---|---|
已弃用 |
4.3.0 将在 6.0 中删除,不再应使用定义动态属性 |
参数
- property
string
属性的名称。- default
mixed
默认值。
响应
mixed
delete
删除文件
delete( filename, context = null, usePrefix = true, relative = false) :
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::delete() 代替。框架类在发生错误时会抛出异常,您必须捕获这些异常。 |
参数
- filename
string
要删除的文件路径。- context
resource
有效的上下文资源(可选),使用 stream_context_create 创建。- usePrefix
bool
控制是否使用前缀(可选)。- relative
bool
确定给定的文件名是否为相对路径。相对路径不会被剥离 JPATH_ROOT。
响应
mixed
deleteContextEntry
从上下文中删除特定设置
deleteContextEntry( wrapper, name) :
链接 | |
---|---|
自 |
1.7.0 |
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::deleteContextEntry() 代替。 |
参数
- wrapper
string
要使用的包装器- name
string
要取消设置的选项
响应
void
eof
确定我们是否已到达流文件的末尾
eof() :
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::eof() 代替。框架类在发生错误时会抛出异常,您必须捕获这些异常。 |
响应
bool
filesize
检索路径的文件大小
filesize() :
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::filesize() 代替。框架类在发生错误时会抛出异常,您必须捕获这些异常。 |
响应
mixed
get
返回对象的属性或未设置属性时的默认值。
get( property, default = null) :
自 |
1.7.0 |
---|---|
参见 | CMSObject::getProperties() |
已弃用 |
4.3.0 将在 6.0 中删除,请为属性创建一个合适的 getter 函数 |
参数
- property
string
属性的名称。- default
mixed
默认值。
响应
mixed
属性的值。
get_meta_data
获取流元数据
get_meta_data() : array|bool
链接 | |
---|---|
自 |
1.7.0 |
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::get_meta_data() 代替。框架类在发生错误时会抛出异常,您必须捕获这些异常。 |
响应
array<string|int, mixed>|bool
标头/元数据
getError
获取最新的错误消息。
getError( i = null, toString = true) :
自 |
1.7.0 |
---|---|
已弃用 |
3.1.4 将在 6.0 中删除,将被删除,没有替代品。捕获抛出的异常,而不是 getError |
参数
- i
int
可选错误索引。- toString
bool
指示 Exception 对象是否应返回其错误消息。
响应
string
错误消息
getErrors
返回所有错误(如果有)。
getErrors() : mixed||string|int
自 |
1.7.0 |
---|---|
已弃用 |
3.1.4 将在 6.0 中删除,将被删除,没有替代品。捕获抛出的异常,而不是 getErrors |
响应
array<string|int, mixed>
错误消息数组。
getFileHandle
返回内部文件句柄
getFileHandle() :
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::getFileHandle() 代替。 |
响应
resource
文件句柄
getProperties
返回对象属性的关联数组。
getProperties( public = true) : mixed||string|int
自 |
1.7.0 |
---|---|
参见 | CMSObject::get() |
已弃用 |
4.3.0 将在 6.0 中删除,请为属性创建一个合适的 getter 函数 |
参数
- public
bool
如果为 true,则仅返回公有属性。
响应
array<string|int, mixed>
gets
从流源获取一行。
gets( length) :
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::gets() 代替。框架类在发生错误时会抛出异常,您必须捕获这些异常。 |
参数
- length
int
要读取的字节数(可选)。
响应
mixed
move
移动文件
move( src, dest, context = null, usePrefix = true, relative = false) :
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::move() 代替。框架类在发生错误时会抛出异常,您必须捕获这些异常。 |
参数
- src
string
要移动的文件路径。- dest
string
要移动到的文件路径。- context
resource
有效的上下文资源(可选),使用 stream_context_create 创建。- usePrefix
bool
控制是否使用前缀(可选)。- relative
bool
确定给定的文件名是否为相对路径。相对路径不会被剥离 JPATH_ROOT。
响应
mixed
open
通用文件操作
open( filename, mode = 'r', useIncludePath = false, context = null, usePrefix = false, relative = false, detectProcessingMode = false) :
使用一些延迟加载智能打开流
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::open() 代替。框架类在发生错误时会抛出异常,您必须捕获这些异常。 |
参数
- filename
string
文件名- mode
string
要使用的模式字符串- useIncludePath
bool
使用 PHP include 路径- context
resource
打开时要使用的上下文- usePrefix
bool
使用前缀打开文件- relative
bool
文件名是相对路径(如果为 false,则剥离 JPATH_ROOT 以使其变为相对路径)- detectProcessingMode
bool
检测文件的处理方法,并使用适当的函数自动处理输出
响应
bool
prependFilter
将过滤器预置到链中
prependFilter( filterName, readWrite = STREAM_FILTER_READ, mixed||string|int params = []) :
链接 | |
---|---|
自 |
1.7.0 |
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::prependFilter() 代替。框架类在发生错误时会抛出异常,您必须捕获这些异常。 |
参数
- filterName
string
过滤器的键名。- readWrite
int
可选。默认为 STREAM_FILTER_READ。- params
array<string|int, mixed>
用于 stream_filter_prepend 调用的参数数组。
响应
mixed
read
读取文件
read( length) :
适当地处理用户空间流,否则任何读取都将返回 8192
链接 | |
---|---|
自 |
1.7.0 |
已弃用 |
4.4 将在 6.0 中删除,请使用 Joomla\Filesystem\Stream::read() 代替。框架类在发生错误时会抛出异常,您必须捕获这些异常。 |
参数
- length
int
要读取的数据长度
响应
mixed
removeFilter
通过资源(从 append 或 prepend 函数中提供)或通过获取过滤器列表来删除过滤器
removeFilter( &resource, byindex = false) :
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中移除。请使用 Joomla\Filesystem\Stream::removeFilter() 代替。框架类在错误情况下会抛出异常,需要您捕获。 |
参数
- 资源
resource
资源。- byindex
bool
过滤器的索引。
响应
bool
操作结果
seek
查找文件
seek( offset, whence = SEEK_SET) :
注意:返回值与 fseek 不同
链接 | |
---|---|
自 |
1.7.0 |
已弃用 |
4.4 将在 6.0 中移除。请使用 Joomla\Filesystem\Stream::seek() 代替。框架类在错误情况下会抛出异常,需要您捕获。 |
参数
- 偏移量
int
查找时使用的偏移量。- whence
int
要使用的查找模式。
响应
bool
成功为真,失败为假
set
修改对象的属性,如果属性不存在则创建它。
set( property, value = null) :
自 |
1.7.0 |
---|---|
已弃用 |
4.3.0 将在 6.0 中移除。为该属性创建一个合适的 setter 函数。 |
参数
- property
string
属性的名称。- value
mixed
要设置的属性的值。
响应
mixed
属性的先前值。
setContextOptions
将上下文更新为数组
setContextOptions(mixed||string|int context) :
格式与 stream_context_create 的选项相同
链接 | |
---|---|
自 |
1.7.0 |
已弃用 |
4.4 将在 6.0 中移除。请使用 Joomla\Filesystem\Stream::setContextOptions() 代替。 |
参数
- context
array<string|int, mixed>
用于创建上下文的选项。
响应
void
setError
添加错误消息。
setError( error) :
自 |
1.7.0 |
---|---|
已弃用 |
3.1.4 将在 6.0 中移除。将被移除,不提供替代方案。请抛出异常而不是使用 setError。 |
参数
- 错误
string
错误消息。
响应
void
setProperties
根据命名数组/哈希设置对象属性。
setProperties( properties) :
自 |
1.7.0 |
---|---|
参见 | CMSObject::set() |
已弃用 |
4.3.0 将在 6.0 中移除。为该属性创建一个合适的 setter 函数。 |
参数
- 属性
mixed
关联数组或另一个对象。
响应
bool
tell
返回文件读写指针的当前位置。
tell() :
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中移除。请使用 Joomla\Filesystem\Stream::tell() 代替。框架类在错误情况下会抛出异常,需要您捕获。 |
响应
mixed
upload
上传文件
upload( src, dest, context = null, usePrefix = true, relative = false) :
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中移除。请使用 Joomla\Filesystem\Stream::upload() 代替。框架类在错误情况下会抛出异常,需要您捕获。 |
参数
- src
string
要从中复制的文件路径(通常是临时文件夹)。- dest
string
要复制到的文件路径。- context
resource
有效的上下文资源(可选),使用 stream_context_create 创建。- usePrefix
bool
控制是否使用前缀(可选)。- relative
bool
确定给定的文件名是否为相对路径。相对路径不会被剥离 JPATH_ROOT。
响应
mixed
write
文件写入
write( &string, length, chunk) :
虽然此函数接受引用,但底层的 fwrite 会执行复制!这将大致使您执行的任何写入的内存分配加倍。指定 chunked 将通过仅以特定块大小写入来解决此问题。默认值为 8192,这在大多数情况下是一个合理的值(使用 JStream::set('chunksize', newsize); 更改默认值)。注意:这不像读取那样支持 gzip/bzip2 写入
链接 | |
---|---|
自 |
1.7.0 |
已弃用 |
4.4 将在 6.0 中移除。请使用 Joomla\Filesystem\Stream::write() 代替。框架类在错误情况下会抛出异常,需要您捕获。 |
参数
- string
string
要写入的字符串的引用。- length
int
要写入的字符串的长度。- 块
int
要写入的块的大小。
响应
bool
writeFile
将一块数据写入文件。
writeFile( filename, &buffer) :
自 |
1.7.0 |
---|---|
已弃用 |
4.4 将在 6.0 中移除。请使用 Joomla\Filesystem\Stream::writeFile() 代替。 |
参数
- filename
string
文件名。- 缓冲区
string
要写入文件的数据。
响应
bool
属性
_errors
错误消息或异常对象的数组。
自 |
1.7.0 |
---|---|
已弃用 |
3.1.4 JError 已被弃用 |
类型
array<string|int, mixed>
filemode
文件模式
自 |
1.7.0 |
---|
类型
int
dirmode
目录模式
自 |
1.7.0 |
---|
类型
int
chunksize
默认块大小
自 |
1.7.0 |
---|
类型
int
filename
文件名
自 |
1.7.0 |
---|
类型
string
writeprefix
写入连接的前缀
自 |
1.7.0 |
---|
类型
string
readprefix
读取连接的前缀
自 |
1.7.0 |
---|
类型
string
processingmethod
读取处理方法
自 |
1.7.0 |
---|
类型
string
filters
应用于当前流的过滤器
自 |
1.7.0 |
---|
类型
array<string|int, mixed>
fh
文件句柄
自 |
3.0.0 |
---|
类型
资源
filesize
文件大小
自 |
3.0.0 |
---|
类型
int
context
打开连接时使用的上下文
自 |
3.0.0 |
---|
类型
资源
contextOptions
上下文选项;用于重建上下文
自 |
3.0.0 |
---|
类型
array<string|int, mixed>
openmode
打开文件的模式
自 |
3.0.0 |
---|
类型
string