我的代码使用PHP的fputcsv函数生成一个txt文件。
对于分隔符,我正在尝试使用'|'
$query = mysql_query("SELECT email, emailSource FROM session WHERE is_complete='1' ORDER by sessionid ASC")
$filename= 'here.txt';
$fp = fopen( $filename,'w');
fputcsv($fp, array('Email address', 'Email Source'));
if(mysql_numrows($query) > 0) {
while ($row = mysql_fetch_array($query, MYSQL_ASSOC)) {
fputcsv($fp, array_values($row));
}
}
fclose($fp);
$contents = file_get_contents($filename);
$contents = str_replace(",", "|", $contents);
file_put_contents($filename, $contents);
我得到的结果是全部在一行而不是在单独的行上显示值,而且标题周围也有“”。
"Email address"|"Email Source"|blah@blah.com|hi|
而不是:
Email address|Email Source|
blah@blah.com|hi|
请有人告诉我我做错了什么。是因为我使用fputcsv并保存到txt文件吗?
答案 0 :(得分:4)
删除str_replace / file_get_contents / file_put_contents块。而不是fputcsv($fp, array('...'))
,请使用fputcsv($fp, array('...'), '|');