[Php-avanzado] Convertir Moneda para Campo en Form
Rogelio A. Schwindt
roger en telefax.com.ar
Jue Oct 13 12:08:02 ART 2011
Gracias Leo por el Consejo !!! lo voy a tener en cuenta.
Saludos.
Rogelio A. Schwindt
Analista de Sistemas
Area informática
FCA - Balcarce
agrainfo en mdp.edu.ar
---------------------------------------------------------
----- Original Message -----
From: "Leonardo Tadei - Pegasus Tech Supply" <leonardot en pegasusnet.com.ar>
To: "Lista del curso de PHP Avanzado" <php-avanzado en pato2.fi.mdp.edu.ar>
Sent: Thursday, October 13, 2011 11:58 AM
Subject: Re: [Php-avanzado] Convertir Moneda para Campo en Form
Hola Roger,
gracias por el aporte!
Si esa página va a tener muchos usuarios concurrentes, considerá
cachear los datos en una tabla de DB en vez de en un archivo, porque la
diferencia de velocidad de acceso es muy significativa.
Saludos!
El jue, 13-10-2011 a las 11:51 -0300, Rogelio A. Schwindt escribió:
> Estimados.
>
> Aca les paso la solucion final que puede llegar a servirles...
>
> Saludos.
>
> <?php
>
> function obtener_cotizacion(){
>
> // URL banco nacion
> $url = "http://www.bna.com.ar/bp/bp_cotizaciones.asp?op=m";
> // regexp para buscar los valores
> $regexp =
> '/<td class="linksazul" align="center">([0-9]\.[0-9]{3,})<
> \/td>/';
> // cache de n * 60 segundos, ajustable... 60 segundos en este caso
> $cache_time = 1 * 60;
> // archivo de cache de divisas
> $cache_file = 'divisas.cache.txt';
>
> if (
> file_exists($cache_file) &&
> time() - $cache_time < filemtime($cache_file)
> ){
> $cache = file_get_contents($cache_file);
> $datos = unserialize($cache);
> return $datos;
> } else {
> $html = file_get_contents($url);
> if (preg_match_all($regexp, $html, $matches)) {
> $valores['dolar_compra'] = $matches[1][0];
> $valores['dolar_venta'] = $matches[1][1];
> $valores['libra_compra'] = $matches[1][2];
> $valores['libra_venta'] = $matches[1][3];
> $valores['euro_compra'] = $matches[1][4];
> $valores['euro_venta'] = $matches[1][5];
> $serialized = serialize($valores);
> $fh = fopen($cache_file, 'w+');
> if($fh){
> fwrite($fh, $serialized);
> fclose($fh);
> }
> return $valores;
> } else return FALSE;
> }
> }
>
> $divisas = obtener_cotizacion();
>
> ?>
>
> Rogelio A. Schwindt
> Analista de Sistemas
> Area informática
> FCA - Balcarce
> agrainfo en mdp.edu.ar
> ---------------------------------------------------------
> ----- Original Message -----
> From: Rogelio A. Schwindt
> To: Cristian Nimes ; Lista del curso de PHP Avanzado
> Sent: Thursday, October 13, 2011 10:19 AM
> Subject: Re: [Php-avanzado] Convertir Moneda para Campo en
> Form
>
>
> Gracias Cris... ahi estuve mirando y parece que puede servirme
> para lo que necesito.
> A la tarde voy a probarla.
>
> Muchas gracias !!!
>
>
> Rogelio A. Schwindt
> Analista de Sistemas
> Area informática
> FCA - Balcarce
> agrainfo en mdp.edu.ar
> ---------------------------------------------------------
> ----- Original Message -----
> From: Cristian Nimes
> To: Lista del curso de PHP Avanzado
> Sent: Thursday, October 13, 2011 9:56 AM
> Subject: Re: [Php-avanzado] Convertir Moneda para
> Campo en Form
>
>
> Buenasss....
>
>
> Fijate si te puede servir esto:
> http://xurrency.com/api
>
>
>
> No lo he usado nunca, pero una vez estuve a punto de
> tener que resolver algo parecido a lo tuyo y recuerdo
> haber considerado esa API.
>
>
>
> Saludos.
>
>
>
>
> ______________________________________________________
> De: unes pacio <unespac en gmail.com>
> Para: Lista del curso de PHP Avanzado
> <php-avanzado en pato2.fi.mdp.edu.ar>
> Enviado: jueves, 13 de octubre de 2011 9:21
> Asunto: Re: [Php-avanzado] Convertir Moneda para Campo
> en Form
>
> Buenas Roger, si no tenes alguna api que te de el
> valor del dolar directamente, podes usar curl para
> cargar el codigo html de la página y despues parsearlo
> buscando con una expresion regular algo asi
> <td xxxxxxxxxx>Dolar</td><td
> xxxxxxxxxxxx>n.nnn</td><td xxxxxxxx>n.nnn</td>
> lo metes en una variable y haces lo que se te antoje.
> Salu2
>
>
> PD: yo pondria que esto lo haga una vez al dia y lo
> guarde en un archivo para mejorar el tiempo de
> respuesta
>
>
>
>
>
>
> El 13 de octubre de 2011 08:37, Rogelio A. Schwindt
> <roger en telefax.com.ar> escribió:
> Hola.
>
> Para un formulario de pago online estoy
> necesitando que el valor de uno de los campos
> se rellene automaticamente con el valor de:
>
> X * cotizacion del dolar tipo venta del banco
> Nacion Arg.
>
> (http://www.bna.com.ar/bp/bp_cotizaciones.asp?op=m)
>
> Alguno tiene implementado algo similar o algun
> ejemplo?
>
> Gracias.
>
> Rogelio A. Schwindt
>
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
>
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
>
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
>
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
>
>
> ______________________________________________________
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
>
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
>
> ______________________________________________________________
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
Blog: http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
_______________________________________________
Php-avanzado mailing list
Php-avanzado en pato2.fi.mdp.edu.ar
http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
Más información sobre la lista de distribución Php-avanzado