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

<?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的读取操作

view plaincopy to clipboardprint?

  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的写入操作

view plaincopy to clipboardprint?

  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(下载功能)

view plaincopy to clipboardprint?

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

<?phpheader(“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”;?>


关注公众号,了解更多it技术(it问答网

发表评论

电子邮件地址不会被公开。