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