此代码创建一个csv文件。但是,我避免在字段中打印出逗号,因为它用作分隔符(参见第22行)。现在我想从字段中删除(回车和换行)。添加$ somecontent。= str_replace(“\ n”,“”,$ val);第23行似乎不起作用。任何想法?
@chmod($export_csv, 0777);
$fe = @fopen($export_csv."/export.csv", "w+");
if($fe){
$somecontent = "";
$fields_count = 0;
// print field headers
$db->query($sql_view);
if($row = $db->fetchAssoc()){
foreach($row as $key => $val){
if($fields_count++ > 0) $somecontent .= ",";
$somecontent .= ucfirst($key);
}
}
$somecontent .= "\n";
// print field values
$db->query($sql_view);
while($row = $db->fetchAssoc()){
$fields_count = 0;
foreach($row as $key => $val){
if($fields_count++ > 0) $somecontent .= ",";
$somecontent .= str_replace(",", "", $val);
$somecontent .= str_replace("\n", "", $val);
}
$somecontent .= "\n";
}
// write some content to the opened file.
if (fwrite($fe, $somecontent) == FALSE) echo 'file_writing_error'." (export.csv)";
fclose($fe);
}
答案 0 :(得分:2)
答案 1 :(得分:1)
SELECT col1, col2, col3 INTO OUTFILE '/tmp/export.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM test_table;
答案 2 :(得分:0)
$somecontent .= str_replace("\n", "", $val)
在哪里?我在你的代码中找不到它。
您可以将数组指定为str_replace
的第一个参数,如there所示。因此,它将使用第二个参数替换数组中的每个字符串。
例如,$somecontent .= str_replace(array("\n", "\r"), "", $val);
答案 3 :(得分:0)
你可以试试这样的东西,玩ASCII字符