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

php生成(导出)csv文件的函数示例

程序员文章站 2022-05-09 16:53:57
...
  1. $list = array (
  2. 'aaa,bbb,ccc,dddd',
  3. '123,456,789',
  4. '"aaa","bbb"'
  5. );
  6. $fp = fopen('file.csv', 'w');
  7. foreach ($list as $line) {
  8. fputcsv($fp, split(',', $line));
  9. fclose($fp);
  10. }
复制代码

不过低版本的php中没有这样的内置函数,可以自己实现一个自定义函数:

  1. function fputcsv4($fh, $arr){
  2. $csv = "";
  3. while (list($key, $val) = each($arr))
  4. {
  5. $val = str_replace('"', '""', $val);
  6. $csv .= '"'.$val.'",';
  7. }
  8. $csv = substr($csv, 0, -1);
  9. $csv .= "\n";
  10. if (!@fwrite($fh, $csv))
  11. return FALSE;
  12. }
复制代码

如此就可以将数据库读出来的数组转化写入csv文件。

代码:

  1. $users = $this->mdMemUsers->findBysql($sql);
  2. $i = 0;
  3. foreach($users as $vo){
  4. $content[$i] = implode(',',$vo);
  5. $i++;
  6. }
  7. $fp = fopen('users.csv', 'w');
  8. foreach ($content as $line) {
  9. fputcsv4($fp, split(',', $line));
  10. }
复制代码