Перестал работать скрипт

Discussion in 'PHP' started by still12, 27 Nov 2008.

  1. still12

    still12 Elder - Старейшина

    Joined:
    18 Nov 2007
    Messages:
    74
    Likes Received:
    5
    Reputations:
    -1
    Везде где используется этот скрипт на сегоднишний день значения тиц = 0. Что в нем не так ? Исправте плз))Раньше все норм было
    PHP:
    <?php

    function cy($url)
    {


    $url=str_replace("http://","",$url);

     
    $fp fsockopen("bar-navig.yandex.ru"80$errno$errstr30); 
      if (!
    $fp) { return FALSE;  } 
         else { 
         
    $out "GET /u?ver=2&url=http://$url/&show=1 HTTP/1.1\r\n" 
         
    $out .= "Host: bar-navig.yandex.ru\r\n" 
         
    $out .= "Connection: Close\r\n\r\n" ;  
         
    fwrite($fp$out); 
         
         
    $data="";
         while (!
    feof($fp)) { 
           
    $data .= fgets($fp128); 
              } 
               
    fclose($fp);  
              
             
    $pos=strpos($data,"value")+7;
             
    $itog=substr($data$pos5);
             
             
    $itog=substr($itog0strpos($itog,'"'));
            
            return 
    $itog;
             
         } 
         
        

    }



    ?>
     
    #1 still12, 27 Nov 2008
    Last edited: 27 Nov 2008
  2. Solker

    Solker Elder - Старейшина

    Joined:
    4 May 2006
    Messages:
    175
    Likes Received:
    53
    Reputations:
    18
    PHP:
    $url=str_replace("http://","",$url);
     
    #2 Solker, 27 Nov 2008
    Last edited: 27 Nov 2008
  3. still12

    still12 Elder - Старейшина

    Joined:
    18 Nov 2007
    Messages:
    74
    Likes Received:
    5
    Reputations:
    -1
    Опечаточка вышла ....исправил в верхнем посте ....не работает именно так
     
  4. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    а может яндекс забанил? я в полезных скриптах выкладывал функцию для работы с сокетами. найди и попробуй её.
     
  5. Solker

    Solker Elder - Старейшина

    Joined:
    4 May 2006
    Messages:
    175
    Likes Received:
    53
    Reputations:
    18
    У меня все работает.
    PHP:
    <?php

    echo cy("www.google.ru");

    function 
    cy($url)
    {

    $url str_replace("http://","",$url);

    $fp fsockopen("bar-navig.yandex.ru"80$errno$errstr30); 
    if (!
    $fp) return FALSE;  
    else { 
      
    $out "GET /u?ver=2&url=http://$url/&show=1 HTTP/1.1\r\n" 
      
    $out .= "Host: bar-navig.yandex.ru\r\n" 
      
    $out .= "Connection: Close\r\n\r\n" ;  
      
      
    fwrite($fp$out);   
      while (!
    feof($fp)) {
          
    $date fgets($fp128); 
          if(
    strpos($date,"rang")) break;
      }
      
    fclose($fp);  
              
      
    preg_match('#rang="(.*?)" value="(.*?)"#'$date$matches);
      
      return 
    "Rang = {$matches[1]}, Value = {$matches[2]}";
      
    //return $matches[2];
     

    }

    ?> 
     
    #5 Solker, 27 Nov 2008
    Last edited: 27 Nov 2008
  6. still12

    still12 Elder - Старейшина

    Joined:
    18 Nov 2007
    Messages:
    74
    Likes Received:
    5
    Reputations:
    -1
    Почти полностью

    Чтоб было яснее выложу почти весь скрипт. Pr определяет на ура а вот с тиц проблемы...(всегда 0)

    Файл index.php

    PHP:
    <html><head><title>Проверка</title></head>
    <body>
    <br>
    <?php
    //error_reporting(0);

    include("./goo.php");
    include(
    "./cy.php");

    if (isset(
    $_POST['ok']))
    {
    $arr=explode("\n",$_POST['area']);
    echo 
    "<ul>";
    foreach (
    $arr as $k=>$url)
    {
    $url=trim($url);
    if (
    $url=='') continue;
    echo 
    $k.") ".$url." ";

    $xx=intval(cy($url));
    $prr=getPageRank($url);
    echo 
    "Pr: <b>$prr</b>";
    echo 
    "тИЦ: $xx<br>";

    flush();
    }
    //end foreach





    }
    ?>
    <b><br>Проверить список имен на PR & ТИЦ</b>
    <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
    <textarea name="area" rows=7 cols=35></textarea>

    <br>
    <input type="submit" name="ok" value="Проверить!">
    </form>
    <br>
    <br>
    <a href="http://kreved.name">йА Кревед</a>
    </body></html>

    Файл cy.php
    PHP:
    <?php

    function cy($url)
    {


    $url=str_replace("http://","",$url);

     
    $fp fsockopen("bar-navig.yandex.ru"80$errno$errstr30); 
      if (!
    $fp) { return FALSE;  } 
         else { 
         
    $out "GET /u?ver=2&url=http://$url/&show=1 HTTP/1.1\r\n" 
         
    $out .= "Host: bar-navig.yandex.ru\r\n" 
         
    $out .= "Connection: Close\r\n\r\n" ;  
         
    fwrite($fp$out); 
         
         
    $data="";
         while (!
    feof($fp)) { 
           
    $data .= fgets($fp128); 
              } 
               
    fclose($fp);  
              
             
    $pos=strpos($data,"value")+7;
             
    $itog=substr($data$pos5);
             
             
    $itog=substr($itog0strpos($itog,'"'));
            
            return 
    $itog;
             
         } 
         
        

    }



    ?>
    ну думаю goo.php нет нужды выкладывать ибо пр определяется всегда верно

    Помогите востановить работу скрипта :confused:
    Нужна именно массовая проверка
     
  7. Solker

    Solker Elder - Старейшина

    Joined:
    4 May 2006
    Messages:
    175
    Likes Received:
    53
    Reputations:
    18
    Чего тупим? Я тебе переписал функцию на более рабочий вариант с регулярками, там всегда int будет.
    PHP:
    $xx=intval(cy($url));
    PHP:
    $xx=cy($url);
    У меня заменишь:
    PHP:
    return "Rang = {$matches[1]}, Value = {$matches[2]}"
    на
    PHP:
    return $matches[2]; 
     
    #7 Solker, 28 Nov 2008
    Last edited: 28 Nov 2008
    1 person likes this.
  8. still12

    still12 Elder - Старейшина

    Joined:
    18 Nov 2007
    Messages:
    74
    Likes Received:
    5
    Reputations:
    -1
    Solker, огромное спс )))Ток теперь при тиц = 0 скрипт выдает пустое место а не ноль
    тоесть
    0) getcms.ru Pr: 1 тИЦ:
     
  9. Solker

    Solker Elder - Старейшина

    Joined:
    4 May 2006
    Messages:
    175
    Likes Received:
    53
    Reputations:
    18
    Ой, извиняюсь. Верни intval().
    $xx=intval(cy($url));