I'm trying to write a php file to eliminate carriage returns in a CSV file. I am trying to first read from the original CSV file containing the carriage returns in column 1. Next, trim or eliminate the carriage returns and then write the corrected string into a new CSV file. But I'm having some trouble on how to specifically do that. I received an error on this program and I'm not sure what's the problem with this code. What am I missing here? Any suggestions?
Here is my original code:
<?php
$file_read = fopen('testCarriageFile.csv', "r");
$file_write = fopen('testCarriageFile2.csv', "w+");
while(!feof($file_read)) {
$file_trim = trim($file_read, "");
fwrite($file_write, $file_trim);
}
fclose($file_read);
fclose($file_write);
?>
You are not reading anything from the file. You need to use fgets
or fgetcsv
for CSV files. Try this:
while(!feof($file_read)) {
$file_line = fgets($file_read);
$file_trim = trim($file_line, "");
fwrite($file_write, $file_trim);
}
Not sure why you are removing carriage returns when you could just use fgetcsv
to read CSV file and if you are not sure about line endings use ini_set("auto_detect_line_endings", true);