Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Дайте пару советов по оптимизации данного кода
 
 автор: pavluxa09   (17.07.2009 в 18:50)   письмо автору
 
 

Добрый день. Дайте пожалуйста пару советов по тому как оптимизировать этот код (чтоб работал быстрее и меньше брал ресурсов):
<?php
if( isset($_GET['rid']) and intval($_GET['rid'])>)
{
    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, -32);
            }
          }
        }
        
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']==)
            {
                
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);
}
?>

  Ответить  
 
 автор: Trianon   (17.07.2009 в 21:36)   письмо автору
 
   для: pavluxa09   (17.07.2009 в 18:50)
 

как минимум, не дергать каждый раз whois , а кешировать результат.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования