[Php-avanzado] Convertir Moneda para Campo en Form

Rogelio A. Schwindt roger en telefax.com.ar
Jue Oct 13 11:51:37 ART 2011


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
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20111013/ab949620/attachment.html>


Más información sobre la lista de distribución Php-avanzado