php使用fputcsv()函数csv文件读写数据的方法


Posted in PHP onJanuary 06, 2015

本文实例讲述了php使用fputcsv()函数csv文件读写数据的方法。分享给大家供大家参考。具体分析如下:

fputcsv() 函数用于将数据格式为csv格式,以便写入文件或者数据库.

1.将字符串写入csv文件中,代码如下:

$test_array = array( 

    array("111","sdfsd","sdds","43344","rrrr"), 

    array("sssssssss","gdfgfd","232323","wwewe","dsfds"), 

    array("fgfg","e4343","dsfds","w2332","xcvxc"), 

    array("11212","2323","344343","344343","rerreer"), 

    array("fds","43344444","33333333","ttttttt","gggggggggggg"), 

    array("kdfs","dsfdsfds","wewewe","sdsdddddddd","wwwwwwwwwww")

); 

 

$file = fopen("test.csv","w") or die("Can't Open test.csv"); 

foreach($test_array as $line_array) 

{ 

    $isSuccess = fputcsv($file,$line_array); 

    print $isSuccess."<br>"; 

 if($isSuccess===false) 

    { 

        die("Can't write csv line".$line_array); 

    } 

} 

fclose($file) or die("Can't close file test.csv.");

fputcsv()函数返回所写入行的字符的个数或者false,当写入失败时返回false.

2.将格式化的csv字符串保存到字符串中,代码如下:

$test_array = array( 

        array("111","sdfsd","sdds","43344","rrrr"), 

        array("sssssssss","gdfgfd","232323","wwewe","dsfds"), 

        array("fgfg","e4343","dsfds","w2332","xcvxc"), 

        array("11212","2323","344343","344343","rerreer"), 

        array("fds","43344444","33333333","ttttttt","gggggggggggg"), 

        array("kdfs","dsfdsfds","wewewe","sdsdddddddd","wwwwwwwwwww") 

); 

ob_start(); 

$file = fopen("php://output","w") or die("Can't Open php://output"); 

foreach($test_array as $line_array) 

{ 

        $isSuccess = fputcsv($file,$line_array); 

        if($isSuccess===false) 

        { 

            die("Can't write csv line".$line_array); 

        } 

}
fclose($file) or die("Can't close file test.csv."); 

$result = ob_get_contents(); 

ob_end_clean();

以用fgetcsv(file,length,separator,enclosure)函数读取csv文件.

fgetcsv的参数说明如下:

file:需要读取的csv文件,此参数是必需的。

length:表示大于csv文件中最长的行的长度的值。php5之前是必需参数。在php5中是可选参数,如果不设置此参数或者将其设为0,php将会读取.

一整行的数据。如果行的长度超过8192个字节时,应该将length值设定一个数,而不是让php自动去计算行的长度。

separator:指定数据的分隔符,默认是逗号,如果指定为“;”,那么fgetcsv函数将按照“;”来解析行数据。

fgetcsv的返回值:

根据file的一行数据,返回一个数组,如果读取文件出错,则返回false,到达文件尾部时,也返回false.

下面是一个读取test.csv文件的例子:

$file = fopen('test.csv','r') or die("Can't open file test.csv"); 

$color="#ff0000"; 

print '<table border=0>'; 

while($csv_line=fgetcsv($file)) 

{ 

        print "<tr>"; 

        $len = count($csv_line); 

        for($i=0;$i<$len;$i++) 

        { 

            if($i%2==0)$color="#cccccc"; 

            else $color="#999999"; 

            print '<td bgcolor='.$color.'>'.htmlentities($csv_line[$i]).'</td>'; 

        } 

        print "</tr>"; 

} 

print '</table>'; 

fclose($file) or die("Can't close file test.csv!");

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP开发大型项目的一点经验
Oct 09 PHP
vBulletin HACK----关于排版的两个HACK
Oct 09 PHP
php文档更新介绍
Jul 22 PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
Mar 11 PHP
php处理restful请求的路由类分享
Feb 27 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
Apr 29 PHP
php读取mssql的ntext字段返回值为空的解决方法
Dec 30 PHP
Laravel中使用自己编写类库的3种方法
Feb 10 PHP
Yii实现Command任务处理的方法详解
Jul 14 PHP
比较完整的微信开发php代码
Aug 02 PHP
YII2框架中excel表格导出的方法详解
Jul 21 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
Apr 09 PHP
phplot生成图片类用法详解
Jan 06 #PHP
写一段简单的PHP建立文件夹代码
Jan 06 #PHP
php读取flash文件高宽帧数背景颜色的方法
Jan 06 #PHP
php自动获取关键字的方法
Jan 06 #PHP
windows7下php开发环境搭建图文教程
Jan 06 #PHP
PHP中$this和$that指针使用实例
Jan 06 #PHP
php缓冲输出实例分析
Jan 05 #PHP
You might like
腾讯QQ微博API接口获取微博内容
2013/10/30 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
2014/04/25 PHP
php实现session自定义会话处理器的方法
2015/01/27 PHP
PHP机器学习库php-ml的简单测试和使用方法
2017/07/14 PHP
PHP封装的分页类与简单用法示例
2019/02/25 PHP
laravel框架数据库配置及操作数据库示例
2019/10/10 PHP
Javascript 面向对象 对象(Object)
2010/05/13 Javascript
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
jquery对dom的操作常用方法整理
2013/06/25 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
jQuery实现form表单元素序列化为json对象的方法
2015/12/09 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
2016/07/18 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
Vue和Bootstrap的整合思路详解
2017/06/30 Javascript
详解基于webpack2.x的vue2.x的多页面站点
2017/08/21 Javascript
js实现控制文件拖拽并获取拖拽内容功能
2018/02/17 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
jQuery访问json文件中数据的方法示例
2019/01/28 jQuery
vue实现路由懒加载及组件懒加载的方式
2019/06/11 Javascript
JavaScript中如何调用Java方法
2020/09/16 Javascript
python基础教程之类class定义使用方法
2014/02/20 Python
Python单体模式的几种常见实现方法详解
2017/07/28 Python
python XlsxWriter模块创建aexcel表格的实例讲解
2018/05/03 Python
python3实现磁盘空间监控
2018/06/21 Python
django 邮件发送模块smtp使用详解
2019/07/22 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
python Xpath语法的使用
2020/11/26 Python
python3字符串输出常见面试题总结
2020/12/01 Python
工作总结与自我评价
2014/09/18 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
2015少先队大队辅导员工作总结
2015/07/24 职场文书
如何使用vue3打造一个物料库
2021/05/08 Vue.js
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python
redis击穿 雪崩 穿透超详细解决方案梳理
2022/03/17 Redis