Foros del Web » Programando para Internet » PHP »

txt a base de datos

Estas en el tema de txt a base de datos en el foro de PHP en Foros del Web. Buen Día, Mi problema es el siguiente tengo un archivo plano (txt) delimitado por espacio, necesito ingresar los datos a una tabla de postgres... Agradezco ...
  #1 (permalink)  
Antiguo 11/02/2009, 13:56
 
Fecha de Ingreso: febrero-2009
Mensajes: 47
Antigüedad: 15 años, 2 meses
Puntos: 2
txt a base de datos

Buen Día,

Mi problema es el siguiente tengo un archivo plano (txt) delimitado por espacio, necesito ingresar los datos a una tabla de postgres...

Agradezco su valiosa colaboración.
  #2 (permalink)  
Antiguo 11/02/2009, 14:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: txt a base de datos

revisa fgetcsv() para leer en formato CSV

http://php.net/fgetcsv

o bien, has un ciclo con file() luego un explode() por cada linea y ve haciendo tu INSERT

(un poco de creatividad no hace daño)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/02/2009, 09:05
 
Fecha de Ingreso: febrero-2009
Mensajes: 47
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: txt a base de datos

tienes algun codigo de referencia te lo agradeceria por ke llevo dos dias en eso y no me funciona
  #4 (permalink)  
Antiguo 13/02/2009, 10:06
Avatar de jenusys  
Fecha de Ingreso: diciembre-2008
Ubicación: Ahí mismo.
Mensajes: 216
Antigüedad: 15 años, 4 meses
Puntos: 11
Respuesta: txt a base de datos

ESPERO QUE LO SIGUIENTE TE SIRVA Y SI NO, CUALQUIER OTRA COSA, ME PUEDES SEGUIR CONSULTANDO:

<?php

//Nos conectamos a la base de datos
$DB = new mysqli('localhost', 'usuario', 'contraseña', 'nombrebase');

//Ahora definimos lo que se va a convertir a formato utf8
$DB->query("SET NAMES 'utf8'");

//Pasamos a la parte de lectura de datos del archivo plano

//Le decimos que enumere la primera columna
$linea = 1;

//buscamos el archivo desde el servidor y le decimos que lo lea r = read
$contenido = fopen ("talcosa/miarchivo.txt", "r");

//Que el separador es espacio
while ($datos = fgetcsv ($contenido, 1000, " ")) {

//Que nos enumere las filas
echo "Esta es la fila $linea: <br>";

echo "<table class=interna border=1><tr>";

//Esto aumentará el número de la fila
$linea++;

//Se pone el número de la columna a mostrar como datos 1 2 o 3 o 4 etc
?>

<td width="100"><?php echo $datos[0]?><td>
<td width="100"><?php echo $datos[1]?><td>
<td width="100"><?php echo $datos[2]?><td>
<td width="100"><?php echo $datos[3]?><td>
<td width="100"><?php echo $datos[4]?><td></tr>

<?php
//Cerramos la tabla
echo "</table>";

//Ingresamos los campos a la base de datos
$DB->query("INSERT INTO mitabla SET taldato='$datos[0]', otrodato='$datos[1]', mascampos='$datos[2]',
otrocampo='$datos[3]', etcetera='$datos[4]', masetc='$datos[5]'");

//Cerramos la lectura del archivo de texto
fclose ($contenido);
}

?>

Última edición por jenusys; 13/02/2009 a las 12:04
  #5 (permalink)  
Antiguo 13/02/2009, 10:55
 
Fecha de Ingreso: febrero-2009
Mensajes: 47
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: txt a base de datos

ok resueltas todas las dudas.. mil gracias, te debo una!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:57.