PHP - Importar CSV masivamente

   
Vista:

Importar CSV masivamente

Publicado por Eduardo mx.eduardo@gmail.com (1 intervención) el 02/03/2015 22:54:17
Hola, espero puedan ayudarme, tengo que importar todos los archivos csv que se encuentren en un directorio a mi base de datos de mysql, de hecho ya tengo el código que importa un archivo específico, pero si tengo 100 archivos tengo que ejecutar el código 100 veces, he intentado usar la función readdir() pero para primero listar los ficheros del directorio pero siempre realiza el proceso dos veces más y entiendo que al leer el arreglo creado por readdir() son unos puntitos que también ocupan un lugar en el arreglo. este es el código que llevo

Saludos.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$db_host = 'LOCALHOST';
$db_user = 'root';
$db_pass = 'password';
$database = 'mibase';
$table = 'pruebasubir';
 
 
$sel_file='C:\subir\subir.csv';
 
if (!mysql_connect($db_host, $db_user, $db_pass))  die("No se pudo establecer conexión a la base de datos");
 
if (!mysql_select_db($database)) die("la base de datos no existe");
 
         $fname = $_FILES['sel_file']['name'];
         echo "\n \n";
         echo 'Cargando nombre del archivo: '.$fname.' ';
         $chk_ext = explode(".",$fname);
 
         if(strtolower(end($chk_ext)) == "csv")
         {
 
             $filename = $_FILES['sel_file']['tmp_name'];
             $handle = fopen($filename, "r");
 
             while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
             {
 
                $sql = "INSERT into pruebasubir(idestado, unidad, fcaptura, odometro, tmantenimiento, gsubtotal, giva, gtotal, fvencimiento, folioant)
                values('$data[0]','$data[1]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]')";
                mysql_query($sql) or die(mysql_error());
             }
 
             fclose($handle);
             echo "Importación exitosa!";
         }
         else
         {
             echo "Archivo invalido!";
         }
    ?>
 
  </form>
 </body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder