Foros del Web » Programando para Internet » PHP »

recoger datos de un txt

Estas en el tema de recoger datos de un txt en el foro de PHP en Foros del Web. Hola tengo un problema y necesito solucionarlo lo mas pronto posible, este archivo se extrae de una aplicación que guarda la información separada por ,"", ...
  #1 (permalink)  
Antiguo 30/07/2012, 14:13
 
Fecha de Ingreso: marzo-2012
Ubicación: Bogota
Mensajes: 177
Antigüedad: 12 años
Puntos: 2
recoger datos de un txt

Hola tengo un problema y necesito solucionarlo lo mas pronto posible, este archivo se extrae de una aplicación que guarda la información separada por ,"", y necesito capturar todos los datos que se encuentran después de DAY y cada uno almacenarlos en una base de datos

Todas las lineas empiezan por BCMS y las 2 lineas anteriores no me sirven para nada lo que quiro capturar en todas la lineas es esto:
"4/04/12","0","0:00","0","0:00","0:00","0:00","0","0","0 :00","0.0","1"

"Archivo.txt"
4-10-2012 11:15 AM - Data Export

4-10-2012 11:15 AM - Report for Voice System name: UNE - list bcms skill 12 day 04/01

"BCMS SKILL REPORT","EMTELCO","11:32 am TUE APR 10, 2012","Skill:","12","Skill Name:","LAI_OUTSOURCE","20","DAY","4/04/12","0","0:00","0","0:00","0:00","0:00","0","0","0 :00","0.0","1"
"BCMS SKILL REPORT","EMTELCO","11:32 am TUE APR 10, 2012","Skill:","12","Skill Name:","LAI_OUTSOURCE","20","DAY","4/05/12","0","0:00","0","0:00","0:00","0:00","0","0","0 :00","0.0",""
"BCMS SKILL REPORT","EMTELCO","11:32 am TUE APR 10, 2012","Skill:","12","Skill Name:","LAI_OUTSOURCE","20","DAY","4/06/12","0","0:00","0","0:00","0:00","0:00","0","0","0 :00","0.0",""
"BCMS SKILL REPORT","EMTELCO","11:32 am TUE APR 10, 2012","Skill:","12","Skill Name:","LAI_OUTSOURCE","20","DAY","4/07/12","0","0:00","0","0:00","0:00","0:00","0","0","0 :00","0.0",""
"BCMS SKILL REPORT","EMTELCO","11:32 am TUE APR 10, 2012","Skill:","12","Skill Name:","LAI_OUTSOURCE","20","DAY","4/08/12","0","0:00","0","0:00","0:00","0:00","0","0","0 :00","0.0",""
"BCMS SKILL REPORT","EMTELCO","11:32 am TUE APR 10, 2012","Skill:","12","Skill Name:","LAI_OUTSOURCE","20","DAY","4/09/12","0","0:00","0","0:00","0:00","0:00","0","0","0 :00","0.0",""
"BCMS SKILL REPORT","EMTELCO","11:32 am TUE APR 10, 2012","Skill:","12","Skill Name:","LAI_OUTSOURCE","20","DAY","4/10/12","0","0:00","0","0:00","0:00","0:00","0","0","0 :00","0.0",""
"BCMS SKILL REPORT","EMTELCO","11:32 am TUE APR 10, 2012","Skill:","12","Skill Name:","LAI_OUTSOURCE","20","DAY","-----------","-----","-----","----","-----","-----","-------","----","----","-------","-----","---"
"BCMS SKILL REPORT","EMTELCO","11:32 am TUE APR 10, 2012","Skill:","12","Skill Name:","LAI_OUTSOURCE","20","DAY","SUMMARY","0","0 :00","0","0:00","0:00","0:00","0","0","0:00","0.0" ,""


Algun idea por favor ayudanme es un poco urgente y no se como hacerlo.
Gracias
  #2 (permalink)  
Antiguo 30/07/2012, 14:41
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: recoger datos de un txt

lee el archivo linea por linea usando fgetcsv
  #3 (permalink)  
Antiguo 30/07/2012, 15:04
 
Fecha de Ingreso: marzo-2012
Ubicación: Bogota
Mensajes: 177
Antigüedad: 12 años
Puntos: 2
Respuesta: recoger datos de un txt

ya logre organizar los datos que necesito por columnas pero tu sabes como puedo elimincar todas las letras y que queden solo números??

Eso es lo que me falta

0 Voi ys m na : UN BCMS IL EP T
1 ACD SPEE AN ABAN TAL AFTE LO LO AUX/ VG ERV
2 DAY CALL ANS LL TIME TIM CALL N UT OTHE TAFF EVL
3 6/28/12 56 0:08 1 0:09 3:23 0:00 10 22 242:02 1.1 90
4 6/29/12 47 0:25 16 2:45 4:40 0:00 0 3 530:59 1.1 64
5 6/30/12 0 0:00 0 0:00 0:00 0:00 0 0 0:00 0.0 100

necesito que solo me queden los números

Gracias
  #4 (permalink)  
Antiguo 30/07/2012, 15:11
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: recoger datos de un txt

str_replace y eliminas las letras y los caracteres que desees

http://es.php.net/manual/es/function.str-replace.php
  #5 (permalink)  
Antiguo 30/07/2012, 15:18
 
Fecha de Ingreso: marzo-2012
Ubicación: Bogota
Mensajes: 177
Antigüedad: 12 años
Puntos: 2
Respuesta: recoger datos de un txt

Cita:
Iniciado por webankenovi Ver Mensaje
str_replace y eliminas las letras y los caracteres que desees

http://es.php.net/manual/es/function.str-replace.php
Código PHP:
<?php
    
include("conexion.php");
$link=conexion();
$gestor = @fopen("REPORTES/Reporte_Ultimos7_dias.txt""r");//tarificacion04202012.txt
if ($gestor) {
$i=
$cod=0;
    echo 
"<table border='1' align='center'>";
    echo 
"<tr>";
    echo 
"<td>cod</td><td>Date</td><td>Time</td><td>Sec_dur</td><td>Cond_code</td><td>Calling_num</td><td>Dialed_num</td><td>Auth_code</td><td>in_trk_code</td><td>in_crt_id</td><td>Code_used</td><td>Out_crt_id</td><td>Out_crt</td>";
    echo 
"</tr>";
//pag 70 http://www.edwardybella.com/archivos/crepusculo.pdf
//http://www.cs101-class.org/#
    
while (($buffer fgets($gestor999)) !== false) {
    
//$resultado=preg_split('/[A-z|;]/', $buffer[1]);
   // if (($i % 2) != 0) {    
    
$Date=substr($buffer0,7);
    
$Time=substr($buffer,  11,5);
    
$Sec_dur=substr($buffer18,4);
    
$Cond_code=substr($buffer26,2);    
    
$Calling_num=substr($buffer30,4);
    
$Dialed_num=substr($buffer36,4);
    
//echo "<br>";
    //echo $Dialed_num;
    
$Auth_code=substr($buffer44,4);
    
$in_trk_code=substr($buffer51,2);
    
$in_crt_id=substr($buffer56,2);
    
$Code_used=substr($buffer60,6);
    
$Out_crt_id=substr($buffer69,4);
    
$Out_crt=substr($buffer75,3);
    
    
$Date=trim($Date);//Date
    
$Time=trim($Time);//Time
    
$Sec_dur=trim($Sec_dur);//Sec-dur
    
$Cond_code=trim($Cond_code);//Cond-code
    
$Calling_num=trim($Calling_num);//Calling-num
    
$Dialed_num=trim($Dialed_num);//Dialed-num
    
$Auth_code=trim($Auth_code);//Auth-code
    
$in_trk_code=trim($in_trk_code);//in-trk-code
    
$in_crt_id=trim($in_crt_id);//in-crt_id
    
$Code_used=trim($Code_used);//Code-used
    
$Out_crt_id=trim($Out_crt_id);//Out-crt-id
    
$Out_crt=trim($Out_crt);//Out-crt

    
if($Cond_code!="D" && $Cond_code!=""){

    echo 
"<tr>";
    echo 
"<td>".$cod."</td>";
    echo 
"<td>".$Date."</td>";
    echo 
"<td>".$Time."</td>";
    echo 
"<td>".$Sec_dur."</td>";
    echo 
"<td>".$Cond_code."</td>";
    echo 
"<td>".$Calling_num."</td>";
    echo 
"<td>".$Dialed_num."</td>";
    echo 
"<td>".$Auth_code."</td>";
    echo 
"<td>".$in_trk_code."</td>";
    echo 
"<td>".$in_crt_id."</td>";
    echo 
"<td>".$Code_used."</td>";
    echo 
"<td>".$Out_crt_id."</td>";
    echo 
"<td>".$Out_crt."</td>";
    echo 
"</tr>";

    
$cod++;


    if(
$Auth_code==""){
    
$Auth_code=0;
    }
    if(
$Code_used==""){
    
$Code_used=0;
    }
    if(
$Out_crt_id==""){
    
$Out_crt_id=0;
    }
    if(
$in_crt_id==""){
    
$in_crt_id=0;
    }
    if(
$in_trk_code==""){
    
$in_trk_code=0;
    }

$mysql=mysql_query("INSERT INTO estados (dato1,dato2 ,dato3,dato4,dato5,dato6,dato7,dato8,dato9,dato10,dato11) VALUES ('$Date','$Time','$Sec_dur','$Cond_code','$Calling_num','$Dialed_num', '$Auth_code','$in_trk_code','$in_crt_id','$Code_used','$Out_crt_id')") or die ("problemas en el insert".mysql_error());

    }

    
//}
    
$i++;
    }

    echo 
"</table>";        

    if (!
feof($gestor)) {
        echo 
"Error: fallo inesperado de fgets()\n";

    }
    
fclose($gestor);    
}
mysql_close($link);
?>
mira este es mi código pero no se como hacer el str_replace ni donde ponerlo para que me elimine todas las letras que estén en mi archivo

Me ayudas es que no se como hacer esto :(
  #6 (permalink)  
Antiguo 30/07/2012, 15:50
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: recoger datos de un txt

observa este ejemplo del manual que te pase

// La salida es F debido a que A es reemplazada con B, entonces B es reemplazada con C, y así sucesivamente...
// Finalmente E se reemplaza con F, debido a los reemplazos de izquierda a derecha.
$search = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);


o este otro que busca letras y las modifa por el caracter que tu desees

$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");

Produce: Hll Wrld f PHP

Etiquetas: recoger, 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 16:31.