[转]php对csv文件的读取,写入,输出下载操作

本文介绍了如何使用PHP语言进行CSV文件的读取、写入及输出操作。包括打开文件、逐行读取数据、将数组写入文件以及创建可下载的CSV文件等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自: http://hi.baidu.com/xuduowei/blog/item/bb4e961b2ef5afd8ad6e753b.html

<?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进行读写操作。

1.CSV的读取操作

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

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

2.CSV的写入操作

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

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

3.输出CSV(下载功能)

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值