Rehola de nuevo señores, poco tiempo ha pasado hasta darme cuanta de que necesito vuestra ayuda, he estado leyendo algunas webs y al final en wiki encontré la manera de hacer el "fsockopen" he modificado el code pero ahora me da el error:
Código PHP:
Fatal error: Only variables can be passed by reference in
Me podéis echar una mano?, os dejo el código adjunto.
Código PHP:
<?#//v.3.0.0
#///////////////////////////////////////////////////////
#// COPYRIGHT 2008 ALL RIGHTS RESERVED//
#///////////////////////////////////////////////////////
Function ConvertCurrency($FROM,$INTO,$AMOUNT)
{
$query = "SELECT * FROM bay_rates WHERE symbol='$FROM'";
$R = mysql_query($query);
if(!$R)
{
print "Error: $query<BR>".mysql_error();
exit;
}
$F_RATE = mysql_fetch_array($R);
$query = "SELECT * FROM bay_rates WHERE symbol='$INTO'";
$R_ = mysql_query($query);
if(!$R_)
{
print "Error: $query<BR>".mysql_error();
exit;
}
$I_RATE = mysql_fetch_array($R_);
$VAL = doubleval($AMOUNT);
return $VAL/$F_RATE[rate]*$I_RATE[rate];
}
function UpdateRates()
{
global $PHP_SELF;
$interval = 1440; // Minutes in 1 day
$res = @mysql_query("select *,NOW()-(last_update) as dif from bay_lastupdate;");
$ar = @mysql_fetch_array($res);
$mydif = (int)($ar[dif]/60) - $interval;
if($mydif>0)
/*{
$fp = fopen("http://www.bankofcanada.ca/fmd/exchange.htm","r");
$x=0;$g=0;
while(!feof($fp))
{
*/
$fp = fsockopen(“www.bankofcanada.ca/fmd/exchange.htm”, 80, 30);
if( !$fp ) {
echo '$errstr ($errno) <br>\n';
} else {
fputs($fp, “GET / HTTP/1.0nn”);
while( !feof($fp) ) {
echo fgets($fp, 128);
}
fclose($fp);
}
$buf = fgets($fp, 4096);
if(eregi("U.S. Dollar",$buf)) $x=4;
if(eregi("</PRE>",$buf)) $x=0;
if($x==4)
{
if(!eregi("US/CA",$buf))
{
$ime = explode("/",$buf);
$s = explode(" ",$ime[1]);
$r = array_reverse ($s);
if(eregi("Euro de",$buf))
{
$ime[0]="European Monetary Union EURO";
$s = explode(" ",$buf);
$r = array_reverse ($s);
}
if($ime[0]<>"" and $r[0]<>"")
{
$g++;
if(eregi("U.S. Dollar",$buf)) {$koef = (float)$r[0];}
$k = ((float)$r[0]/(float)$koef);
$usd = 1/$k;
$res = mysql_query("SELECT * FROM bay_rates WHERE sifra=\"$ime[0]\"") or die("ERROR 42:".mysql_error());
$num = mysql_num_rows($res);
if($num == 0)
{
mysql_query("INSERT INTO bay_rates VALUES(
NULL,
\"$ime[0]\",
'',
$usd,
\"$ime[0]\")");
}
else
mysql_query("UPDATE bay_rates SET rate='$usd' WHERE sifra=\"$ime[0]\"");
}
if(eregi("Venezuelan Bolivar",$buf)) $x=0;
}
}
}
fclose($fp);
mysql_query("UPDATE bay_lastupdate SET last_update=NOW();");
}
}
?>
Espero vuestra ayuda. Gracias a todos.