• Feed RSS
Mostrando entradas con la etiqueta leer archivos csv en php. Mostrar todas las entradas
Mostrando entradas con la etiqueta leer archivos csv en php. Mostrar todas las entradas
Para los que trabajáis con bases de datos, y queréis subir datos masivamente leyendo ficheros CSV con PHP, a continuación os explicaré como hacerlo.

Primero para asegurarnos que el fichero que nos han subido (mediante un input file) sea de extensión CSV, comprobaremos su extensión de la siguiente manera:
//Obtenemos la extensión
$ext = substr($_FILES['name_input']['name'], strrpos($_FILES['name_input']['name'], '.')+1);
//en el name_input pondremos el name que le hayamos puesto al input file
//y la comparamos con la del archivo que nos han pasado
if ($ext != "csv"){
   printf("Archivo no válido");
}
En el caso de que nos envíen un archivo CSV, lo abriremos y consultaremos su información de la siguiente manera:
//La opción r indica que el archivo se abre como sólo lectura
$file = fopen($_FILES['name_input']['tmp_name'], "r");
//No saldrá del bucle hasta que no haya más líneas en el archivo CSV
while (($info = fgetcsv ($file , ";")) != FALSE ) {
   //Comprobamos la información linea a linea con el for each
   foreach($info as $linea) {
      echo $linea;
      //Para separar los datos utilizamos la función explode
      $array = explode(";", $linea);
      //Y accederemos a los valores de la siguiente manera
      echo $array[0];
   }
}
Y con esto bastaría, lo único que debemos hacer para insertarlos en la base de datos será, hacer las comprobaciones necesárias de los datos, y insertarlos en la tabla correspondiente.

Más opciones del fopen | fopen Manual
Funciones | explode Manual