|
|
|
| Добрый день. Дайте пожалуйста пару советов по тому как оптимизировать этот код (чтоб работал быстрее и меньше брал ресурсов):
<?php
if( isset($_GET['rid']) and intval($_GET['rid'])>0 )
{
include ("../kernel/connect.ker.php");
function Ip2Country( $ip )
{
$sock = fsockopen ("whois.ripe.net",43,$errno,$errstr);
if (!$sock)
{
echo("$errno($errstr)");
return;
}
else
{
fputs ($sock, $ip."\r\n");
while (!feof($sock))
{
$text = fgets ($sock,128);
if( substr($text,0,8)=="country:" )
{
$return = substr($text, -3, 2);
}
}
}
fclose ($sock);
unset($sock, $errno, $errstr, $text);
return $return;
}
$user['rid'] = intval($_GET['rid']);
$user['ip'] = $_SERVER['REMOTE_ADDR'];
$user['referer'] = $_SERVER['HTTP_REFERER'];
if( strlen($user['referer'])>10 )
{
if( Ip2Country( $user['ip'] )=="RU" )
{
$q = mysql_query("SELECT COUNT(*) as count FROM `qop_iframepay` WHERE `ip` = '".$user['ip']."'");
if( $q['count']==0 )
{
mysql_query("INSERT INTO `qop_iframepay` ( `rid` , `date` , `ip` , `referer` , `status` ) VALUES ('".$user['rid']."', NOW(), '".$user['ip']."', '".$user['referer']."', 'NEW');");
}
}
}
$all_vars = get_defined_vars();
foreach ($all_vars as $key => $var)
{
unset($$key);
}
unset($all_vars, $key, $var);
}
?>
|
| |
|
|
|
|
|
|
|
для: pavluxa09
(17.07.2009 в 18:50)
| | как минимум, не дергать каждый раз whois , а кешировать результат. | |
|
|
|