Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/02/2019, 18:11
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: importador de csv con php

Dos cosas:
1. Chequear la extensión de un archivo de esta manera
$chk_ext = explode(".",$fname);
if(strtolower(end($chk_ext)) == "csv")

No es la mejor idea, ya que es cosa que a un archivo .exe (virus) se le puede poner como extensión .csv,

Mejor usa finfo:

Código PHP:
Ver original
  1. $finfo = new finfo(FILEINFO_MIME);
  2. $mimetype = $finfo->file($_FILES['selfile']['tmp_name']);

Algunos csv mime:

text/comma-separated-values , text/csv , application/csv

Entonces

Código PHP:
Ver original
  1. $csvEXT = ["text/comma-separated-values", "text/csv", "application/csv"];
  2. $finfo = new finfo(FILEINFO_MIME);
  3. $mimetype = $finfo->file($_FILES['selfile']['tmp_name']);
  4. if(in_array($mimetype, $csvEXT)){
  5. //to do if is csv file
  6. }
  7. else{
  8. //To do if not csv file
  9. }


[/HIGHLIGHT]
Luego en tus SQL estas usando el array como string debes concatenar:


Código PHP:
Ver original
  1. $sql = "INSERT INTO table (col1, col2, ...) VALUES ('".$data[0]."', '".$data[1]."', ....)";



Saludos

Última edición por alvaro_trewhela; 18/02/2019 a las 18:17