boaPHP开发手册v5.5

file类
版本 1.0+
命名空间 boa
文件 boa/file.php
说明 文件系统操作类,继承base类,配置:'FILE' => [],
配置
配置项 默认值 类型 说明
mode 0755 int 创建目录时的模式,八进制值
safe_mode false bool 是否开启安全模式
safe_path BS_WWW string 安全模式下仅允许在该目录下操作
目录
方法 说明
__construct() 初始化
read() 读文件
write() 写文件
chmod() 改变目录下文件模式
realpath() 从相对路径计算绝对路径,如果想同时检测文件是否存在请直接PHP函数realpath()
read_dir() 读取目录,受safe_mode影响
copy_dir() 拷贝目录,受safe_mode影响
clear_dir() 清理目录,受safe_mode影响
count_dir() 统计目录
replace_dir() 内容查找替换,受safe_mode影响
preg_replace_dir() 使用正则查找替换内容,受safe_mode影响
file2url() 文件本地路径转网页路径
方法

__construct()

说明
初始化
参数 必须 默认值 类型 说明
$cfg [] array 配置数据
示例
$file = boa::file()

read()

说明
读文件
参数 必须 默认值 类型 说明
$file Y string 文件路径
$maxlen 0 int 最大读取长度,默认读取全部
$offset 0 int 读取位置,默认从头读取
返回值
成功返回内容(string);失败返回false(bool)
示例
$str = $file->read(BS_VAR .'debug.txt')

write()

说明
写文件
参数 必须 默认值 类型 说明
$file Y string 文件路径,不存在则自动创建
$str Y string 待写入内容
$append false bool 是否追加写入
返回值
成功返回写入字节数(int),失败返回false(bool)
示例
$res = $file->write(BS_VAR .'debug.txt', $str, true)

chmod()

说明
改变目录下文件模式
参数 必须 默认值 类型 说明
$path Y string 目录
$mode 0755 int 文件模式
返回值
成功返回true(bool);失败返回false(bool)
示例
$res = $file->chmod(BS_VAR, 0777)

realpath()

说明
从相对路径计算绝对路径,如果想同时检测文件是否存在请直接PHP函数realpath()
参数 必须 默认值 类型 说明
$path Y string 相对路径
$root null string 相对于该路径计算绝对路径,默认为BS_ROOT
返回值
返回绝对路径(string)
示例
$path = $file->realpath('../../test.txt')

read_dir()

说明
读取目录,受safe_mode影响
参数 必须 默认值 类型 说明
$path Y string 目录路径
$type 0 int 返回类型;1=目录,2=文件,0=全部
返回值
成功依据type返回结果(array);失败返回false(bool)
示例
$arr = $file->read_dir('D:/soft', 1)

copy_dir()

说明
拷贝目录,受safe_mode影响
参数 必须 默认值 类型 说明
$source Y string 源路径
$dest Y string 目标路径,不存在则自动创建
$override false bool 文件存在时是否覆盖
返回值
成功返回true(bool);失败返回false(bool)
示例
$res = $file->copy_dir('D:/github/test', 'D:/test/test')

clear_dir()

说明
清理目录,受safe_mode影响
参数 必须 默认值 类型 说明
$path Y string 目录
$deldir false bool 是否删除当前目录
返回值
成功返回true(bool);失败返回false(bool)
示例
$res = $file->clear_dir('D:/test', true)

count_dir()

说明
统计目录
参数 必须 默认值 类型 说明
$path Y string 目录
$recursive false bool 是否包括子目录
返回值
返回统计信息(array)
示例
$arr = $file->count_dir('D:/github/test', true); // 得到数组 Array
(
    [bytes] => 10939
    [files] => 3
    [folders] => 4
)

replace_dir()

说明
内容查找替换,受safe_mode影响
参数 必须 默认值 类型 说明
$path Y string 查找目录
$search Y string 查找内容
$repalce string 替换内容
$exts null string 限定文件后缀,如:php|txt|ini
返回值
成功返回true(bool);失败返回false(bool)
示例
$res = $file->replace_dir('D:/github/test', 'title', '', 'txt')

preg_replace_dir()

说明
使用正则查找替换内容,受safe_mode影响
参数 必须 默认值 类型 说明
$path Y string 查找目录
$search Y string 查找内容,完整的正则表达式,如:/[a-c]+/i
$repalce string 替换内容
$filter null string 限定文件,完整的正则表达式,如:/\.txt$/i
返回值
成功返回true(bool);失败返回false(bool)
示例
$res = $file->preg_replace_dir('D:/github/test', '/<[a-z\/]+?>/i', '', '/\.txt$/i')

file2url()

说明
文件本地路径转网页路径
参数 必须 默认值 类型 说明
$path Y string 文件绝对路径
$host null string 指定主机地址,默认自动计算
返回值
返回转换后的路径(string)
示例
$path = $file->file2url(BS_WWW .'test/'); // /www/test/

$path = $file->file2url(BS_WWW .'test/', 'http://boasoft.top'); // http://boasoft.top/www/test/