php对csv文件的读取,写入,输出下载操作详解

yipeiwu_com6年前PHP代码库

复制代码 代码如下:

<?php  
    $file = fopen('text.csv','r');

    while ($data = fgetcsv($file)) {    //每次读取CSV里面的一行内容  
   //print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可
   $goods_list[] = $data;
    }
//print_r($goods_list);
echo $goods_list[0][1];
    fclose($file);  
?>


在实际工作中,很多时候需要把网站上的一些数据下载到CSV文件里,方便以后查看。
亦或者是用CSV进行一些批量的上传工作。
这个时候我们就需要对CSV进行读写操作。

CSV的读取操作

复制代码 代码如下:

<?php   
    $file = fopen('D:/file/file.csv','r');   
    while ($data = fgetcsv($file)) {    //每次读取CSV里面的一行内容   
         print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可   
     }   
     fclose($file);   
?>  

<?php $file = fopen('D:/file/file.csv','r'); while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容 print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可 } fclose($file); ?>

CSV的写入操作

复制代码 代码如下:

<?php   
  $fp = fopen('d:/file/file.csv', 'w');   
  fputcsv($fp,array('aaa','bbb','cccc'));   
  fputcsv($fp,array('mmm','yyy','haha'));   //fputcsv可以用数组循环的方式进行实现   
   fclose($fp);   
?>  

<?php $fp = fopen('d:/file/file.csv', 'w'); fputcsv($fp,array('aaa','bbb','cccc')); fputcsv($fp,array('mmm','yyy','haha')); //fputcsv可以用数组循环的方式进行实现 fclose($fp); ?>

输出CSV(下载功能)

复制代码 代码如下:

<?php   
     header("Content-Type: text/csv");   
     header("Content-Disposition: attachment; filename=test.csv");   
     header('Cache-Control:must-revalidate,post-check=0,pre-check=0');   
     header('Expires:0');   
     header('Pragma:public');   
    echo "id,areaCode,areaName/n";   
    echo "1,cn,china/n";   
    echo "2,us,America/n";   
?>

输出excel(下载功能)

header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=php100.xls");
echo "id,areaCode,areaName/n";   
echo "1,cn,china/n";   
echo "2,us,America/n"

相关文章

解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)

【详细错误】:由于出现错误 c00ce56e 而导致此项操作无法完成 【造成原因】:未指定输出编码格式。 【解决办法】:句首加入header("content-type:text/htm...

PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)

为什么要谨慎使用PHP中的常量? Zend Framework文档中写道:常量包含数字字母字符和下划线,数字允许作为常量名。 常量名的所有字母必须大写。类常量必须通过 "const" 定...

php自定义函数实现二维数组按指定key排序的方法

本文实例讲述了php自定义函数实现二维数组按指定key排序的方法。分享给大家供大家参考,具体如下: 二维数组官方的排序方法并不好,该函数可以进行指定key的排序,已经测试并使用,代码如下...

Swoole 5将移除自动添加Event::wait()特性详解

前言 在之前的版本中,编写Cli命令行脚本中使用异步或协程功能时,Swoole会自动在脚本末尾检测是否有Event::wait()调用,如果没有,底层会自动调用register_shut...

10款实用的PHP开源工具

10款实用的PHP开源工具

在开发工作中,使用合适的工具可以最大化地提高效率。此外,大量的开源项目也节省了开发者重复“造轮”的时间,使得开发者可以专注于业务的实现。 本文介绍10款非常实用且开源的PHP开发辅助工具...