在PHP中消除CSV文件中的回车


Eliminating carriage returns from a CSV file in PHP

我试图写一个php文件,以消除在CSV文件中的回车。我试图首先从包含第1列中回车的原始CSV文件中读取。接下来,修剪或消除回车,然后将更正后的字符串写入新的CSV文件。但我不知道具体怎么做。我在这个程序上收到一个错误,我不确定这段代码有什么问题。我遗漏了什么?有什么建议吗?

这是我的原始代码:

<?php
$file_read = fopen('testCarriageFile.csv', "r");
$file_write = fopen('testCarriageFile2.csv', "w+");
while(!feof($file_read)) {
    $file_trim = trim($file_read, "'r");
    fwrite($file_write, $file_trim);
}
fclose($file_read);
fclose($file_write);
?>

您没有从文件中读取任何内容。CSV文件需要使用fgetsfgetcsv。试试这个:

while(!feof($file_read)) {
    $file_line = fgets($file_read);
    $file_trim = trim($file_line, "'r");
    fwrite($file_write, $file_trim);
}

不知道为什么你删除回车时,你可以只是使用fgetcsv读取CSV文件,如果你不确定行结束使用ini_set("auto_detect_line_endings", true);