欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-22 21:12:10
复制代码 代码如下:

复制代码 代码如下:

<?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"