PHP数组与CSV互转的实现过程是什么
Admin 2022-08-15 群英技术资讯 744 次浏览
在实际应用中,我们有时候会遇到“PHP数组与CSV互转的实现过程是什么”这样的问题,我们该怎样来处理呢?下文给大家介绍了解决方法,希望这篇“PHP数组与CSV互转的实现过程是什么”文章能帮助大家解决问题。数组导出CSV,ZIP文件,CSV,ZIP文件还原数组(阵列导出文件,文件恢复阵列)适用于导入导出会员,商品信息
所有配置项ExecData中配置
注意:读取中文文件名文件,数据时需要注意本地区域设置
写入文件数据是UTF-8,设置 FetchFile 类中 fetchFile() 函数中 setlocale(LC_ALL, 'US')才可读取到数据;
测试平台为WIN,其他平台未测试;
如果不能读取数据,请根据相应地区字符编码设置
$this->config[ 'webChar']一致都为UTF-8 $this->config[ 'fileNameChar'](GBK),否则中文文件名乱码,数据数据编码为传入时原数据编码UTF -8(PHP文件编码) $this->config['fileNameChar'](GBK)才能判断 $this->config[ 'fileNameChar'](GBK);读取压缩包文件(根据传入的文件名读取)数据时,文件名编码必须一致,否则读取不到数据
| --- datafile /导出文件存放位置必须有创建,写入,读取权限
| ---日志/读取文件是错误日志存放位置必须有创建,写入权限
| --- src /
| --- demo.php示例文件
| --- ExceData.php执行读写操作调用类文件
| --- FetchFile.php读取文件操作类
| --- Pub.php读写操作基类
| --- WriteFile .php数组写入文件(下载)类
| --- test /示例图片
传入数组,如果限制每个文件的数据条数小于数组长度,自动生成压缩文件;
如果限制每个文件的数据条数大于数组长度,根据参数设置是否压缩文件;
调用示例:$exec=new ExecData(); $exec->writeData($two);;
共5个参数,第一个参数必填,其他参数可选
* @param $ data数组数据 * @param $ tit csv文件title,Array或者'aa,bb'字符串类型,建议数组长度与数据每个二维数据长度一致 * @param $ limit每个文件数据条数 * @param $ filename文件名,不加后缀,例如`aa`,生成的文件是`aa.csv / aa.zip`;默认文件名`WriteFile-> defaultFileName()`函数定义 * @param $ compr单个文件是否压缩,默认false不压缩
读取CSV文件,返回数组;
如果读取压缩包中所有文件如果没有错误,获取数组后会自动删除源文件;如果有错误,会输出提示信息,可以通过ExecData类文件中的fetchData函数配置项中的logOut设置是否输出读取文件压缩包,压缩包有多少个有内容的文件,就返回几个数组
如果读取整个文件并且没有错误,是否删除源文件可以通过配置FetchFile类中$this->config["isDelFile"]=false设置,默认不删除,值为false
修改读取文件时错误日志存放位置配置:ExceData文件fetchData()函数中$f_config['logFile']设置自分类中翻译定义即可
调用示例:$exec=new ExecData(); $exec->fetchData("compress2.csv");
共4个参数,第一个参数必填,其他参数可选
* @param $ filename要读取的文件名 * @param bool是否返回文件中的tit,默认false不返回; * @param bool是否将csv文件中的tit做为数组的key,默认false返回索引数组 * @param int / string * int读取第几个文件的数据,默认0读取所有文件,如果压缩文件中只有一个文件忽略此参数 *如果$ index = 1,读取第一个文件; * string要读取的文件名如果嵌套文件请添加文件夹路径例如aa / aa.csv,$ fileway参数必须为false

项目地址:https://github.com/xue-y/arrcsv
packagist:https://packagist.org/packages/xue-y/arrcsv
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家详细介绍了如何利用PHP+Laravel+RabbitMQ来实现异步延迟消息队列,文中的实现过程讲解详细,快跟随小编一起学习一下吧
如何用PHP实现抽奖功能?一般商家在搞活动时,我们总能看到各种抽奖,这些抽奖功能是怎样做的呢?下面就分享一个使用PHP写的抽奖功能实例,感兴趣的朋友就继续往下看吧。
今天小编就为大家分享一篇解决laravel中日志权限莫名变成了root的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
在本篇文章里小编给大家整理的是一篇关于php如何处理setcookie失效的问题,有兴趣的朋友们可以跟着学习下。
在本篇文章里小编给大家整理的是一篇关于PHP7 preg_replace 出错及解决办法,有需要的朋友们可以跟着学习下。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008