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