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
5 comentarios:
Muy bueno, me ha servido de verdad. Saludos
Espero que te haya servido de ayuda!
Un saludo
Me puedes apoyar en el desarrollo de una aplicacion??
Exponlo y miro a ver si te puedo ayudar
Hola que tal muy bueno pero cuando hago la inserción a la base de datos me da error como hago para que me inserte los datos del archivo en mi base de datos
Publicar un comentario