-
Notifications
You must be signed in to change notification settings - Fork 18
components disk
tolizhan edited this page Jul 6, 2023
·
9 revisions
-
filePathstring文件路径,或已经加锁的数据流
-
datastring, array, boolean, null
数据流 : null=返回文件链接源 写入时 : 字符串=写入数据, 数组=会用serialize转化 读取时 : false=读取数据,true=会用unserialize转化
-
protectedboolean, null
数据流 : true=写入锁,false=读取锁,null=尾部写入锁 写入时 : true=向写入的字符串前追加"<?php exit; ?> "15个字符,false=不追加,null=尾部写入 读取时 : true=文件已写入"<?php exit; ?> "保护, false=文件没写入保护
-
返回值
数据流 : 成功=资源, 失败=false 写入时 : 成功=true, 失败=false 读取时 : 成功=数据, 失败=null, 反序列失败=异常
<?php of_base_com_disk::file(ROOT_DIR . '/test.txt', array('12')); //向根目录的test.txt文件中写入一个数组 of_base_com_disk::file(ROOT_DIR . '/test.txt', true); //读取后返回写入的数组 $fp = of_base_com_disk::file(ROOT_DIR . '/test.txt', null, null); //读取独享锁连接 of_base_com_disk::file($fp, true); //独享锁读取文本
-
dirstring指定遍历的目录
-
dataarray, boolean
接收的目录列表, 当type为true时: 在循环遍历时传入false, 则不会继续遍历 将对应目录设置为false, 则不会继续遍历该目录
-
typeboolean
null =(默认)返回指定目录列表 false=一次返回深层数据 true =循环返回每个目录的数据(单目录大于一万条拆分多次)
<?php $path = ROOT_DIR . '/test'; //测试目录 while (of_base_com_disk::each($path, $data, true)) { //遍历结束返回false print_r($data); //{磁盘路 : false=文件 true=目录, ...} foreach($data as $dir => &$isDir) { if ($isDir) { //是目录 $baseName = basename($dir); //获取文件夹名 if ($baseName[0] === 'a') { //以"a"开头的文件夹 $isDir = false; //设置false不继续遍历 } } } of_base_com_disk::each($path, $data, null); //永远返回 $path 子目录, 不影响遍历 }
-
pathstring磁盘目录
<?php of_base_com_disk::none('C:/windows/temp'); //true=不存在或空文件夹, false=非空文件夹
-
isFilebool是否生成临时文件,true(默认)=返回临时文件路径,false=返回临时文件夹路径
<?php of_base_com_disk::temp(false); //大概返回 C:/windows/temp of_base_com_disk::temp(true); //大概返回 C:/windows/temp/随机数的文件名
-
pathstring指定删除路径
-
clearbool清除父层空文件夹, 默认=false
<?php of_base_com_disk::delete(ROOT_DIR . '/test/demo', true); //删除文件夹后检测如果/test为空,那么/test也删除,再依次检测上一层是否为空
-
sourcestring指定源路径
-
deststring指定目标路径
-
excludearray排除路径
<?php of_base_com_disk::delete(ROOT_DIR . '/test', ROOT_DIR . '/toTest', array( ROOT_DIR . '/test/demo' => true //demo文件夹不拷贝 ));
手册地址 http://phpof.net/
- 入门指引
-
疑难解答
- 部署时会遇到的那些常见问题
简单却容易忽视 - 框架内置有哪些管理界面
生产模式进入界面需用 __OF_DEBUG__ - 如何定制不同的架构模式
通过配置入口文件中调度方法的参数即可 - 如何面向命名空间开发
of_xx 类可以按照命名空间方式调用 - 如何设置不同的部署模式
通过_of.debug设置 开发,测试,生产 模式 - 为什么控制层类文件要返回true
这是防止非法访问的方法之一 - 为什么传到视图层的变量会被编码
这是因为 XSS 安全防范的原因 - 为什么框架没有SQL构造器
因常规方案牺牲了性能又未很好解决问题 - 如何快速开发用户及权限管理功能
单点登录(SSO)模块因此而存在 - 怎么在系统的基础上扩展底层功能
三点: 扩展开发, 预先加载, 底层钩子 - 怎么使用 Composer 依赖管理工具
框架已集成, 默认关闭状态
- 部署时会遇到的那些常见问题
- 组件使用
- 集成插件
- 扩展开发
- 开发手册