Foros del Web » Programando para Internet » PHP »

TXT a mi BBDD, como hago?

Estas en el tema de TXT a mi BBDD, como hago? en el foro de PHP en Foros del Web. Buenas, tengo un txt que es este: Date Time Ext CO Dial Number Ring Duration Acc code CD -------------------------------------------------------------------------------- 22/12/09 08:50AM *911 00 109492591 00:01'13 ...
  #1 (permalink)  
Antiguo 30/03/2010, 13:04
 
Fecha de Ingreso: junio-2009
Mensajes: 89
Antigüedad: 14 años, 10 meses
Puntos: 0
Exclamación TXT a mi BBDD, como hago?

Buenas, tengo un txt que es este:

Date Time Ext CO Dial Number Ring Duration Acc code CD
--------------------------------------------------------------------------------
22/12/09 08:50AM *911 00 109492591 00:01'13 2809
22/12/09 08:50AM *128 00 1096192249 00:01'27 2518
22/12/09 08:51AM 2000 85 <I>595782232458 0'03 00:00'37 D0

y lo quiero tirar a una base de datos, encontre varios pero todos tienen algún caracter de división,

en este caso, como hago?
  #2 (permalink)  
Antiguo 30/03/2010, 13:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: TXT a mi BBDD, como hago?

Ingresa la información en algún array, como por ejemplo file y divide cada campo con explode. Verifica también si te sirve fgetcsv.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 30/03/2010, 13:17
 
Fecha de Ingreso: junio-2009
Mensajes: 89
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: TXT a mi BBDD, como hago?

pero como hago para dividir?, que parametro tomo?, yo se la estructura del archivo, de tal a tal posicion corresponde a tal campo..
  #4 (permalink)  
Antiguo 30/03/2010, 13:19
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: TXT a mi BBDD, como hago?

Si usas la función file, lo divides con explode, si usas fgetcsv mira el manual que ahí tienes ejemplos.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 31/03/2010, 08:34
 
Fecha de Ingreso: junio-2009
Mensajes: 89
Antigüedad: 14 años, 10 meses
Puntos: 0
Exclamación

este es mi codigo..

Código PHP:
$row 1;
$fp fopen ("llamadas.txt","r");
while (
$data fgetcsv ($fp1000" "))
{
$num count ($data);
print 
" <br>";
$row++;
echo 
"$row- ".$data[0].$data[1].$data[2].$data[3].$data[4]......; 
este es mi archivo..


Date Time Ext CO Dial Number Ring Duration Acc code CD
--------------------------------------------------------------------------------
22/12/09 08:50AM *911 00 109492591 00:01'13 2809
22/12/09 08:50AM *128 00 1096192249 00:01'27 2518
22/12/09 08:51AM 2000 85 <I>595782232458 0'03 00:00'37 D0
22/12/09 08:51AM 2000 95 <I> 0'03 00:00'08 D0
22/12/09 08:51AM 2451 LOG OUT
22/12/09 08:51AM *894 00 1090228636811 00:00'57 2800

si separo con espacios me pone en diferentes data[*] los campos de acuerdo a los espacios q hay ya que no siempre tienen la misma cantidad de espacios

como separo para que siempre caiga en el mismo data[*]?

Solucionado:

$filas=file('llamadas.txt');
$i=0;
while($filas[$i]!=NULL){

$filallamada=$filas[$i]; // toma las filas del archivo llamada.txt y tira a la bbdd
$i++;
$incoming=substr($filallamada,27,1);
if($incoming=='I'){
$date=substr($filallamada,0,8);
$dia=substr($date,0,2);;
$mes=substr($date,3,2);
$ano=substr($date,6,2);
$ano1=$ano+2000;
$date8=$ano1.$mes.$dia;
$time=substr($filallamada,10,7);
$ext=substr($filallamada,18,5);
$numero=substr($filallamada,29,23);
$ring=substr($filallamada,52,4);
$ring=str_replace("'",":", $ring);
$duracion=substr($filallamada,57,8);
$duracion=str_replace("'",":", $duracion);

//GRABO EN LA BBDD LOS DATOS DEL ARCHIVO LLAMADAS.TXT

include('conectar_AS.php');

$graba="insert into llamadas (fecha,fecha8,hora,interno,numero_ent,ring,duracio n) values ('$date','$date8','$time','$ext','$numero','$ring' ,'$duracion')";
$resul = mysql_query($graba);

echo $date," - ". $time," - ". $ext," - ". $numero," - ". $ring," - ".$duracion."<br>" ;
}
}

Última edición por GatorV; 05/04/2010 a las 10:14

Etiquetas: bbdd, txt
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




La zona horaria es GMT -6. Ahora son las 02:41.