rt

解决方案 »

  1.   

    本地还是向客户端发送?本地就fopen+fwrite
    客户端就用header做附件发送
      

  2.   

    select 的 into outfile 子句就胜任了
      

  3.   

    while($r=mysql_fetch_assoc($rs)) {
      file_put_contents('文件名', '"' . join('","', $r) . '"' .PHP_EOL, FILE_APPEND);
    }
      

  4.   


    <?php$list = array (
        'aaa,bbb,ccc,dddd',
        '123,456,789',
        '"aaa","bbb"'
    );$fp = fopen('file.csv', 'w');foreach ($list as $line) {
        fputcsv($fp, split(',', $line));
    }fclose($fp);
    ?> 
    看上面例子,
    1、把数据库的数据整合成上面的数组形式
    2、建个csv的模板
    3、用fputcsv导出csv格式数据
      

  5.   

    to xuyanlu 非常遗憾,php提供的 fputcsv、fgetcsv 是残废的
    $ar = array(
      array(1, 2, '中文'),
      array(2, 3, '汉字'),
    );
    $fn = '1.csv';
    $fp = fopen($fn, 'w');
    foreach($ar as $r) fputcsv($fp, $r);
    fclose($fp);$fp = fopen($fn, 'r');
    while($r = fgetcsv($fp)) echo join(', ', $r);
    fclose($fp);fputcsv得到的文件内容
    1,2,中文
    2,3,汉字
    fgetcsv取回的内容
    1, 2, 
    2, 3, 只有这样的内容
    1,2,"中文"
    2,3,"汉字"
    才能正确取回
    1, 2, 中文
    2, 3, 汉字