本文地址:http://blog.youkuaiyun.com/thefirstwind/archive/2008/05/09/2422715.aspx
很多人通过拼字符串,直接使用fwrite来写CSV文件,这样固然没有错,但是如果遇到允许引号和逗号出现的情况,恐怕就显得非常麻烦了。
例如:
$csvDate = "中文,日文,韩文,西班牙','文,阿拉伯文";
$srcDir = '/workspace/CSVList';
$srcFile = $srcDir.date("Ymd").".csv";
if(!is_dir($srcDir)){
$fh = fopen($srcFile,'wb');
fwrite($fh,$csvDate);
fclose($fh);
}
我们想要得CSV文件是这样的格式
中文 | 日文 | 韩文 | 西班牙','文 | 阿拉伯文 |
但是由于,西班牙文中有单引号和逗号
实际上在Excel中是这样的
中文 | 日文 | 韩文 | 西班牙' | 文 | 阿拉伯文 |
解决方法一般来说就是使用转义符来进行赋值,不过如果遇到海量数据的情况下,这样的办法是不可取的。
下面推荐使用array_push和fputcsv相结合的方法来解决该问题。
这里通过程序来说明:
