Cuando importe CSV, salte el encabezado o la primera fila

Sé que esta es una pregunta duplicada. Pero probé todas las respuestas que encontré en https://stackoverflow.com/ .

Creo que en mi caso estoy insertando y actualizando datos si coincide con la misma fecha que el registro se actualizará si no lo va a insertar.

A continuación está mi código de archivo:

 0) { $table_name = $wpdb->prefix . 'prayer'; $ipquery = $wpdb->get_results("SELECT * FROM `$table_name` WHERE `date` = '".$data[0]."'"); $query_res = $wpdb->num_rows; // Check if same date data if($query_res >=1){ $updateQuery = "UPDATE `$table_name` SET `date` = '".$data[0]."', `first_start` = '".$data[1]."', `first_end` = '".$data[2]."', `second_start` = '".$data[3]."', `second_end` = '".$data[4]."', `third_start` = '".$data[5]."', `third_end` = '".$data[6]."', `forth_start` = '".$data[7]."', `forth_end` = '".$data[8]."', `five_start` = '".$data[9]."', `five_end` = '".$data[10]."', `done` = '".$data[10]."' WHERE `$table_name`.`date` = '".$data[0]."';"; $up_res = $wpdb->query($updateQuery); }else{ $query = "INSERT INTO $table_name (date, first_start, first_end, second_start, second_end, third_start, third_end, forth_start, forth_end, five_start, five_end, done) VALUES ('".$data[0]."','".$data[1]."','".$data[2]."','".$data[3]."','".$data[4]."','".$data[5]."','".$data[6]."','".$data[7]."','".$data[8]."','".$data[9]."','".$data[10]."','".$data[11]."')"; $insert_res = $wpdb->query($query); } } $row++; } fclose( $handle ); $success[] = 'Import done.'; } else { $error[] = 'Please upload CSV file only'; } } ?> 

He intentado con la respuesta a continuación para omitir el encabezado:

Omita la primera línea de un archivo CSV

Importar CSV, excluir primera fila

omita la primera línea del método fgetcsv en php

Ayudame a resolver este problema.

ParseCSV es la forma más reciente y fácil de obtener datos de CSV y puede obtener el control de datos de CSV fácilmente.

en el que debe agregar el archivo de la biblioteca según el camino correcto

 eg require_once 'parsecsv.lib.php'; 

Luego, devuelve el título y los datos por separado.

 $filename = 'abc.csv'; // path of CSV file or after upload pass temp path of file $csv = new parseCSV(); $csv->auto($filename); foreach ($csv->titles as $value): $getcsvtitle[] = // get header in variable endforeach; foreach ($csv->data as $key => $row): //$getdataasperrow = // get data row wise. endforeach; 

ParseCSV devuelve datos en formato de matriz después de solo agregar la biblioteca, por lo que puede separar fácilmente el encabezado y otros datos , y es compatible con la nueva línea y el carácter especial, así como también he estado usándolo siempre.

Por favor, consulte el enlace a continuación para obtener más detalles también.

ParseCSV GitHub