FGetCsv just read the first line?

I am trying to use fgetCsv, but for some reason it only reads the first line. Here is the code:

$fieldseparator = ","; $lineseparator = "\r"; if(!file_exists($csvFile)) { echo "<div id='error'>Cannot find uploaded file. Please try again</div>"; exit; } $file = fopen($csvFile,"r"); if(!$file) { echo "<div id='error'>Error loading CSV file</div>"; exit; } $size = filesize($csvFile); if(!$size) { echo "<div id='warning'>File is empty</div>"; exit; } $query = ""; $content = fgetcsv($file,$size,$lineseparator); fclose($file); foreach($content as $data) { $values = explode($fieldseparator,$data); $query[$i] = "('".implode("','",$values)."')"; } 

It just prints one line. Here is the CSV file:

 TSE-P01,1,WO47653897,RM,EcoQuiet,1 TSE-P02,1,WO47653898,RM,EcoQuiet,1 TSE-P03,1,WO47653899,RM,EcoQuiet,1 TSE-P04,1,WO47653900,RM,EcoQuiet,1 TSE-P05,1,WO47653901,RM,EcoQuiet,1 TSE-P06,1,WO47653902,RM,EcoQuiet,1 TSE-P07,1,WO47653903,RM,EcoQuiet,1 TSE-P08,1,WO47653904,RM,EcoQuiet,1 

Any ideas why this could be happening?

+4
source share
2 answers

From documents :

fgetcsv - get a string from file pointer and parses CSV fields

If you need more than one line, you need to call it more than once.

+9
source

This example is β€œExample 2” from w3schools http://www.w3schools.com/php/func_filesystem_fgetcsv.asp

 $file = fopen("contacts.csv","r"); while(!feof($file)) { print_r(fgetcsv($file)); } fclose($file); 

Using a while loop, the code iterates over the entire file / all lines.

Alternatively .. if you do something like that ..

 print_r(fgetcsv($file)); print_r(fgetcsv($file)); print_r(fgetcsv($file)); 

It will print only the first 3 lines.

+5
source

Source: https://habr.com/ru/post/1380950/


All Articles