Maison  >  Article  >  développement back-end  >  php生成(导出)csv文件的函数示例

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

WBOY
WBOYoriginal
2016-07-25 08:55:071025parcourir
  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. }
复制代码


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn