php csv操作
csv的写入数据:
- $data = array(
- array('qq号','登录时间','名称'),
- array('123456','2012-08-21 15:21:10'.chr(1),'我是来测试的'),
- array('56788','2012-08-21 18:21:20 '.chr(1),'test测试数据'),
- array('321789','2012-08-21 11:21:25 '.chr(1),'HELLO')
- );
- $filename = "./file/test.csv";
- if( !file_exists( $filename ) ){
- file_put_contents($filename, '');
- }
- $file = fopen($filename, 'w');
- foreach ( $data as $val ){
- if( false === fputcsv($file, $val) ){
- die('写入数据失败');
- }
- }
- fclose($file);
$data = array( array('qq号','登录时间','名称'), array('123456','2012-08-21 15:21:10'.chr(1),'我是来测试的'), array('56788','2012-08-21 18:21:20 '.chr(1),'test测试数据'), array('321789','2012-08-21 11:21:25 '.chr(1),'HELLO') ); $filename = "./file/test.csv"; if( !file_exists( $filename ) ){ file_put_contents($filename, ''); } $file = fopen($filename, 'w'); foreach ( $data as $val ){ if( false === fputcsv($file, $val) ){ die('写入数据失败'); } } fclose($file);
在写入到csv的时候我的日期格式出现了问题,只显示格式为:2011/06/05 12:02。导致我的秒数不存在了,所以在时间的后面都要加上chr(1)来得到正确的格式
csv读数据:
- $file = fopen($filename, 'w') or die('打开文件失败');
- //读数据
- $file = fopen($filename, 'r');
- while ( $val = fgetcsv($file) ){
- print_r($val);
- }
- fclose($file);
$file = fopen($filename, 'w') or die('打开文件失败'); //读数据 $file = fopen($filename, 'r'); while ( $val = fgetcsv($file) ){ print_r($val); } fclose($file);
csv的下载:
- $data = array(
- array('qq号','登录时间','名称'),
- array('123456','2012-08-21 15:21:10'.chr(1),'我是来测试的'),
- array('56788','2012-08-21 18:21:20 '.chr(1),'test测试数据'),
- array('321789','2012-08-21 11:21:25 '.chr(1),'HELLO')
- );
- //下载功能
- $date = time();
- header("Content-Type: text/csv");
- header("Content-Disposition: attachment; filename=".$date.".csv");
- header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
- header('Expires:0');
- header('Pragma:public');
- foreach ( $data as $val ){
- echo implode(",", $val)."\n";
- }
- ----------------------------------------------------------------------------
-
<?php
$filename = "./creattest.csv";
//读数据
$file = fopen($filename, 'r');
$prex = "linpre";
while ( $val = fgetcsv($file) ){
print_r($val);
echo "<hr/>";
$val_list[] = $val;
}
$val_list[0][0] = $prex.$val_list[0][0];
$val_list[1][0] = $prex.$val_list[1][0];
echo $val_list[0][0]."------------";
$file = fopen($filename, 'w');
foreach ( $val_list as $list ){
if( false === fputcsv($file, $list) ){
die('写入数据失败');
}}
fclose($file);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?