>  기사  >  백엔드 개발  >  php生成(导出)csv文件的函数示例

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

WBOY
WBOY원래의
2016-07-25 08:55:071025검색
  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. }
复制代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.