muchas gracias, les voy contando... al final estoy viendo algo como esto:
$myarray = file($uploadfile);
$fecha = substr($myarray[3],64,8);
$agencias = trim(substr($myarray[5],48,20));
$hbk = trim(substr($myarray[7],48,20));
ta bien??
2009/1/12 Yannick Warnier <[email protected]>:
> Le lundi 12 janvier 2009 à 11:45 -0500, José Luis Bazo Villasante a
> écrit :
>> Hola muchachos...
>>
>> estoy haciendo un pequeño sistemita con PHP, resulta que diariamente
>> me pasan unos reportes en archivo plano TXT, algo asi:
>>
>> REPORTE DE TRANSACCIONES DIARIAS x CANAL Fecha: 21-12-08
>> -------------------------------------------------------------------------
>> 1.- AGENCIAS : 21434
>> 2.- HOMEBANKING : 277458
>> 3.- CAJEROS : 282364
>> 4.- TRANSACCIONES_FROM_HOST-CAJEROS : 137626
>> 5.- COMUNICATE : 15332
>> 6.- SALDOMATICO : 10776
>> -> ANTIGUO_SALDOMATICO : 66
>> -> NUEVO_SALDOMATICO-MQ : 10710
>> -------------------------------------------------------------------------
>>
>> Necesito sacar diferentes datos, como la Fecha y los valores de cada
>> uno de los campos del 1 al 6 e incluso de los subgrupos del punto 6...
>>
>> todo esto para subirlo a un mysql y luego poder leer los datos via web
>> y generar unos graficos...
>>
>> me pueden dar ejemplos de como sacar los valores de los numeros? ya
>> que siempre el numeor de lineas se mantiene... pero el valor varia de
>> 0 a 100000
>>
>> recomiendan utilizar "fgets" o "file_get_contents"
>>
>> no hay alguna funcion en la cual le pueda dar el numero de linea y las
>> posiciones inicial y final y me traiga ese valor??
>
> Hola José,
>
> No existe tal función "predefinida" en PHP, pero hay varias cosas que te
> podrían ayudar.
>
> Primero, la funcción file() te permite de recuperar un archivo dentro de
> una tabla.
> Dependiendo de como "fijo" es tu fichero, podrías hacer algo como eso:
>
> $lineas = @file('mifichero.txt');
> if ($lineas === false) { die("Error de lectura de fichero"); }
> $max = count($lineas); // numero de lineas total de tu fichero
> $resultado = array(); //arreglo final donde van los resultados
> $j = 1;
> for ($i=2;$i<$max;$i++) { //empezamos a 2 para ignorar titulo
> $match = array(); //ahi se ponen los resultados de preg_match
> $res = preg_match('/^(\d).->?\ ([^\ ]+)[^0-9]([0-9]+)/',$lineas[$i],
> $match);
> if ($res !== false) { $resultado[$match[1]] =
> array('nombre'=>$match[2],'valor'=>$match[3]); }
> }
>
> Algo así. Bueno, tienes que mejorarlo un poco en particular para tu
> últimas líneas (tendras que cambiar la expresión regular o mejorarla).
>
> Yannick
>
>
> _______________________________________________
> Lista de correo Linux-plug
> Temática: Discusión general sobre Linux
> Peruvian Linux User Group (http://www.linux.org.pe)
>
> Participa suscribiéndote y escribiendo a: [email protected]
> Para darte de alta, de baja o hacer ajustes a tu suscripción visita:
> http://listas.linux.org.pe/mailman/listinfo/linux-plug
>
> IMPORTANTE: Reglas y recomendaciones
> http://www.linux.org.pe/listas/reglas.php
> http://www.linux.org.pe/listas/comportamiento.php
> http://www.linux.org.pe/listas/recomendaciones.php
>
_______________________________________________
Lista de correo Linux-plug
Temática: Discusión general sobre Linux
Peruvian Linux User Group (http://www.linux.org.pe)
Participa suscribiéndote y escribiendo a: [email protected]
Para darte de alta, de baja o hacer ajustes a tu suscripción visita:
http://listas.linux.org.pe/mailman/listinfo/linux-plug
IMPORTANTE: Reglas y recomendaciones
http://www.linux.org.pe/listas/reglas.php
http://www.linux.org.pe/listas/comportamiento.php
http://www.linux.org.pe/listas/recomendaciones.php