A volte è necessario ignorare l'ultima riga o le ultime righe del csv. Ho impostato il numero di righe da ignorare dall'alto come $ start_offset e il numero di righe da ignorare dal basso come $ end_offset. Inizia con zero e aumenta fino a quando l'errore di offset scompare
Ecco come lo faccio:
$data = file_get_contents($filename);//load up csv
$data_array = explode("\n", $data);//break file into lines
$csv = array_map('str_getcsv', $data_array);//break up comma delimited
$csv_len = count($csv); //count of number of lines
$start_offset = 2;
$end_offset = 3;
for ($i=$start_offset; $i<$csv_len-$end_offset; $i++)
{
//access columns as $csv[$i][0], $csv[$i][1] etc
}