-
Notifications
You must be signed in to change notification settings - Fork 18
components csv
tolizhan edited this page Oct 30, 2021
·
6 revisions
download($filename = 'download', $charset = 'UTF-16LE') 以指定的文件名下载csv
filenamestring, bool, array
含"/"字符串=存储到磁盘路径, 其它字符串=下载文件名, false=关闭存储IO array=CSV数据, 可以是一维(单行)或二维(多行)数组
charsetstring, null
转化的字符集, 可设置 "UTF-16LE", "UTF-8" 等编码
<?php
/**
* 浏览器访问直接下载
*/
of_base_com_csv::download('文件名', 'UTF-16LE'); //指定下载文件名, 设置为UTF-16LE编码
of_base_com_csv::download(array('11', '4', 2)); //第一行数据 字符串的数字可以防止过长数字变成科学记数
of_base_com_csv::download(array('12', '3', 3)); //第二行数据 非字符串的数字可以使用office的统计功能
of_base_com_csv::download(array( //二维数据演示
array('21', '2', 4),
array('22', '1', 5)
));
/**
生成CSV文件到磁盘
/
of_base_com_csv::download(ROOT_DIR . '/test.csv'); //提供一个磁盘路径
of_base_com_csv::download(array('11', '3', 3)); //单行数据演示
of_base_com_csv::download(array( //二维数据演示
array('21', '2', 4),
array('22', '1', 5)
));
of_base_com_csv::download(false); //关闭存储的文件IO 结束时记得调用此方法
&toString($path = null, $charset = 'UTF-16LE') 整理csv数组成字符串
pathstring
null=仅返回csv字符串, 字符串=覆盖写入磁盘路径, 数据流=追加写入到数据流
charsetstring, null
转化的字符集, 默认 "UTF-16LE"
<?php //打开文件流 $fp = of_base_com_disk::file(ROOT_DIR . '/demo.csv', null, true);addRow($val, $row = null, $col = false) 操作csv内部数组 $fileArr//模拟循环从数据库中查询 for ($i = 0; $i <= 2; $i += 2) { //模拟从数据库中查出的二维数组 of_base_com_csv::$fileArr = array( array($i + 1, 2, 3), array($i + 2, 2, 3) ); //追加写入到数据流 of_base_com_csv::toString($fp); }
//关闭文件流 fclose($fp);
valarray, bool
数组=插入数据, false=删除数据
rowint, null, bool
指定行位置, 默认null, 数字=正负位置, null=结尾位置, false=插入操作, true=替换操作
colint, null, bool
指定列位置, 默认false, 数字=正负位置, null=结尾位置, false=插入操作, true=替换操作
<?php
of_base_com_csv::addRow(array(1, 2)); //尾行插入
of_base_com_csv::addRow(array(3, 4, "sd\nsa"), false, null); //尾列插入
/**
以上代码等同于
of_base_com_csv::$fileArr = array(
array(1, 2, 3),
array("", "", 4),
array("", "", "sd\nsa")
);
*/
of_base_com_csv::download('文件名');
&parse(&$path, $func = null)解析csv
pathstring
指定CSV路径
funcstring, null, false
str=自定文件编码, 如: "UTF-8", "UTF-16LE" null=自动识别 UTF-8 UTF-16LE 和 配置_of.charset 字符集 false=主动结束循环解析, 释放IO占用的资源
<?php
$path = ROOT_DIR . '/test.csv';
while ($data = &of_base_com_csv::parse($path)) {
print_r($data); //打印一行数据
break ; //模拟非正常结束
}
of_base_com_csv::parse($path, false); //主动结束(非正常结束时调用)
unlink($path); //结束后可以调用删除
?>
手册地址 http://phpof.net/
- 入门指引
-
疑难解答
- 部署时会遇到的那些常见问题
简单却容易忽视 - 框架内置有哪些管理界面
生产模式进入界面需用 __OF_DEBUG__ - 如何定制不同的架构模式
通过配置入口文件中调度方法的参数即可 - 如何面向命名空间开发
of_xx 类可以按照命名空间方式调用 - 如何设置不同的部署模式
通过_of.debug设置 开发,测试,生产 模式 - 为什么控制层类文件要返回true
这是防止非法访问的方法之一 - 为什么传到视图层的变量会被编码
这是因为 XSS 安全防范的原因 - 为什么框架没有SQL构造器
因常规方案牺牲了性能又未很好解决问题 - 如何快速开发用户及权限管理功能
单点登录(SSO)模块因此而存在 - 怎么在系统的基础上扩展底层功能
三点: 扩展开发, 预先加载, 底层钩子 - 怎么使用 Composer 依赖管理工具
框架已集成, 默认关闭状态
- 部署时会遇到的那些常见问题
- 组件使用
- 集成插件
- 扩展开发
- 开发手册