PHP .Прошу помощи. PHP

Discussion in 'PHP' started by br1tva, 5 Oct 2010.

  1. br1tva

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

    Joined:
    26 Dec 2007
    Messages:
    23
    Likes Received:
    8
    Reputations:
    -5
    Значит есть скрипт на пхп , который сохраняет гуды в заданный txt документ ,вот скрипт:

    PHP:
    <?php if (isset($_GET['add_good'])) { $good $_GET['add_good']; $fd fopen('zadanijmnojutxttxt''a+'); fputs($fd$good."\n"); fclose($fd); ?>[
    В txt документ информация сохраняется в виде :
    92.27.98.00@user;pass

    Собственно вопрос , как сделать чтобы перед тем как инфа вписывалась в txt ИП, адрес ( 92.27.98.00 ) Проверялся на сайте http://www.ip-adress.com/whois/92.27.98.00 и чтобы в txt файле вписывалась инфа примерно такого вида :
    92.27.98.00@user;pass - Reading in United Kingdom .
    P.S
    Так как в пхп я полный ноль решить задачу самостоятельно не получается , хотя теоретически знаю как это реализовать .
     
  2. fl00der

    fl00der Moderator

    Joined:
    17 Dec 2008
    Messages:
    1,027
    Likes Received:
    311
    Reputations:
    86
    Короче тебе надо подрубить к твоему скрипту API от
    http://www.maxmind.com/app/api
    Там все понятно, я еще года два назад это делал, да проебал куда-то сам скрипт.
     
    _________________________
  3. barnaki

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

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    140
    Reputations:
    4
    тебе надо прикрутить whois скрипт допустим отсюда.
    http://www.softtime.ru/scripts/whois.php к своему . и там насоколько я понял переменную text записывать в тот же файл.
     
  4. llexus

    llexus Member

    Joined:
    19 Sep 2010
    Messages:
    57
    Likes Received:
    6
    Reputations:
    10
    Сокет юзай
     
  5. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    llexus причем тут сокет ? И ты вообще читать умеешь? Человек пишет что в РНР ноль.
     
  6. br1tva

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

    Joined:
    26 Dec 2007
    Messages:
    23
    Likes Received:
    8
    Reputations:
    -5
    Всё ещё актуально , один человек помог и написал вот такой скрипт :
    PHP:
    <?php  if (isset($_GET['add_good'])) {    $good trim($_GET['add_good']);        $l explode('@',$good);        $whois whoIs($l[0]);        $fd fopen('zadanijmnojutxttxt''a+');    fputs($fd$good." - ".$whois."\n");    fclose($fd); }   function whoIs($ip) {     $url "http://www.ip-adress.com/whois/".$ip;     $ch curl_init();    curl_setopt($chCURLOPT_URL$url);    curl_setopt($chCURLOPT_HEADER1);    curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);    curl_setopt($chCURLOPT_RETURNTRANSFER1);    $result curl_exec ($ch);    curl_close ($ch);     preg_match('/server location:<\/b><br>(.*?)</s',$result,$m);    $ret trim($m[1]);        return (!empty($ret))?$ret:'unknown';     } ?>
    Изначально всё работало , но сейчас же все Ип Определяются как Unknown , может может кто подсказать в чем проблема ???
     
  7. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Замени

    Code:
    server location:<\/b><br>(.*?)<
    на

    Code:
    server location:<\/h3>(.*?)<
     
  8. br1tva

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

    Joined:
    26 Dec 2007
    Messages:
    23
    Likes Received:
    8
    Reputations:
    -5
    Заменил , всё по старому , Unknown :(
    Code:
    <?php  if (isset($_GET['add_good'])) {    $good = trim($_GET['add_good']);        $l = explode('@',$good);        $whois = whoIs($l[0]);        $fd = fopen('zadanijmnojutxttxt', 'a+');    fputs($fd, $good." - ".$whois."\n");    fclose($fd); }   function whoIs($ip) {     $url = "http://www.ip-adress.com/whois/".$ip;     $ch = curl_init();    curl_setopt($ch, CURLOPT_URL, $url);    curl_setopt($ch, CURLOPT_HEADER, 1);    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    $result = curl_exec ($ch);    curl_close ($ch);     preg_match('/server location:<\/h3>(.*?)<s',$result,$m);    $ret = trim($m[1]);        return (!empty($ret))?$ret:'unknown';     } ?> 
     
  9. llexus

    llexus Member

    Joined:
    19 Sep 2010
    Messages:
    57
    Likes Received:
    6
    Reputations:
    10
    b3 как при чем?
    заходим на http://www.ip-adress.com/whois/92.27.98.00 и парсим. ну 0 или не 0.. это не сложно :)
    br1tva, хм. а с каким ип пробуешь? просто у некоторых действительно пусто :)
    или же может тут
    preg_match('/server location:<\/h3>(.*?)<s/',$result,$m); забыл закрывающий. и вообще там все таки такой исходный код
    server location:</b><br>Tarzana in United States<br><br>. никаких h3 тут не вижу
    я бы такой регэксп написал
    |server location:</b><br>([^<]+)|
     
  10. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Зачем парсить если можно взять API для GEOIP
     
  11. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    PHP:
    <?php
         preg_match
    ('#<h3> server location:</h3>(.*?)<h3>#',$result,$m); 
     
  12. llexus

    llexus Member

    Joined:
    19 Sep 2010
    Messages:
    57
    Likes Received:
    6
    Reputations:
    10
    Хм. Там когда н3 а когда и бр, выражение должно быть с ИЛИ
     
  13. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    не
    PHP:
    preg_match('/server location:<\/h3>(.*?)<s',$result,$m);
    а
    PHP:
    preg_match('/server location:<\/h3>(.*?)</s',$result,$m);
    а вообще мафиозя уже ответил...