php 上传csv文件导入sql,及导出csv文件并下载的问题?-灵析社区

UX_siri

有没有demo?

阅读量:20

点赞量:0

问AI
代码懒得写了,大概说一下流程吧。 1. 从表单获取上传文件 2. 将文件存储到临时目录并且获取文件地址 3. 通过fopen打开成resource类型,通过fgetcsv从resource中获取单行CSV数据 4. 将读取的CSV数据数组,按照csv文件列读取内容;例如 "[id,名称,性别] => $csv[0];$csv[1];$csv[2];"。 5. 组装自己插入数据库的SQL语句;例如"INSERT INTO data (id, name, sex) VALUES ("$CSV[0]", $csv[1], $CSV[2])"; 6. 执行SQL就可以插入了。 下载CSV文件: 1. 在控制器获取要下载数据的条件,生成文件名。 2. 添加响应头:header("Content-Disposition:attachment; filename=$filename"); 3. 通过SQL查询总数与分页大小,计算总页大小进行分页条件查询(最好使用自增主键作为条件),防止一次性读爆数据库。 4. 循环读取分页数据,一边读数据,一边写数据。写数据用"echo implode(',', [$data['id'], $data['name'], $data['sex']])" 你可以看一下别人写的代码: "PHP对CSV文件的读取、写入、下载操作" (https://link.segmentfault.com/?enc=EzQYIfZo3YU1TBbuP6P1gA%3D%3D.ytS9Le0CpStqwRRholDs1FPtep4HKd3uzlJfjuA60AJ6si9fCrUm8CKlrXmlZemounj7qpECGvQHxQefFgmdCw%3D%3D)