我正在制作CSV文件,我需要在每个程序后创建一个新行。标准\ n \ r \ n不起作用。
代码如下:
while ($resultD=mysql_fetch_assoc($queryDown))
{
$csv.= $resultD["first_name"].' , '.$resultD["last_name"].' , '.$resultD["login"].' , '.$resultD["password"].'\n\r';
}
$filename= "export.csv";
$theFile=fopen($filename,"w");
fwrite($theFile, $csv);
答案 0 :(得分:6)
使用"\r\n"
代替'\n\r'
。
您需要使用双引号""
来识别转义序列\r
和\n
。单引号不会这样做。
修改的
正如迈克尔所说,你也可以再次使用PHP_EOL
而不是'\n\r'
。
这会生成一个在多个平台上兼容的换行符。
来自strings上的PHP文档:
注意:与双引号和heredoc语法不同,特殊字符的变量和转义序列在单引号字符串中不会扩展。
答案 1 :(得分:4)
您可以使用:
$csv .= '...' . "\r\n";
或者
$csv .= '...' . PHP_EOL;
或者查看fputcsv
以便轻松使用它:http://php.net/manual/en/function.fputcsv.php
答案 2 :(得分:0)
$csv.= $resultD["first_name"].' , '.$resultD["last_name"].' , '.$resultD["login"].' , '.$resultD["password"]."\n";