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

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

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

    bodo Member

    Joined:
    27 Jun 2009
    Messages:
    14
    Likes Received:
    68
    Reputations:
    2
    не понятно одно...с чего начинать обучение простому юзеру...:)
     
  2. Ctacok

    Ctacok Banned

    Joined:
    19 Dec 2008
    Messages:
    732
    Likes Received:
    646
    Reputations:
    251
    Начинать перестовать задавать глупые вопросы!
     
  3. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    все картинки форматов *.jpg и *.png

    PHP:
    <?php 
    $code
    =file_get_contents('http://direct.yandex.ru'); 
    preg_match_all('/<img src="(.*).(jpg|png)"/i'$code$matches); 
    echo 
    "<pre>"
    print_r ($matches[0]); 
    echo 
    "</pre>"
    ?>
     
    #10743 L I G A, 12 Jul 2009
    Last edited: 12 Jul 2009
  4. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Dark_Scorpicore,
    PHP:
    <?php  
    $code
    =file_get_contents('http://direct.yandex.ru');  
    preg_match_all('#([^\s]+(?=\.(jpg|gif|png))\.\2)#i'$code$matches);  
    echo 
    "<pre>";  
    print_r ($matches[0]);  
    echo 
    "<pre>";  
    ?>
    Я незнаю как ты проверял, почему же у меня работает, результат:

    L I G A,
    А вот у вас код нерабочий и не универсальный, вывело:
    А если вместо двойных кавычек будут одинарные? Или же такого вида:
    <img align="middle" src=""> уже несовпадение по шаблону получается.
     
  5. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    вы невнимательны :
    Code:
    Подскажите плиз как выдернуть все картинки форматов *.jpg и *.png с сайта.
    ___________________________________________
    Code:
    А если вместо двойных кавычек будут одинарные? Или же такого вида:
    <img align="middle" src=""> уже несовпадение по шаблону получается.
    учел пожелания:

    PHP:
    <?php   
    $code
    =file_get_contents('http://direct.yandex.ru');   
    preg_match_all('/src=("|\')(.*).(jpg|png)("|\')/i'$code$matches);   
    echo 
    "<pre>";   
    print_r ($matches[0]);   
    echo 
    "</pre>";   
    ?>
     
    #10745 L I G A, 12 Jul 2009
    Last edited: 12 Jul 2009
    1 person likes this.
  6. zifanchuck

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

    Joined:
    27 Oct 2008
    Messages:
    396
    Likes Received:
    154
    Reputations:
    3
    Вот хотел замутить штуку, типа отгадай номер) Но никак не могу запихнуть рандом в $_POST. Как в таких случаях нужно поступать?
    PHP:
    <?php
        $in 
    = array ("1""2");
        
    $rands array_rand($in2);
        echo 
    "<form method=post>
        <input type=submit name=1 value='1'>
        <input type=submit name=2 value='2'>
        <input type=submit name=3 value='3'>
        <input type=submit name=4 value='4'>
        </form>"
    ;
        
    $out $in[$rands[0]];
    if(isset(
    $_POST['{$out}']))
        {
            echo 
    "Ты экстрасенс";
        }

    ?>
     
  7. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Омг...
    PHP:
    <?php
    $number
    =rand(1,4);
    if(isset(
    $_POST['submit']))
        if(
    $_POST['number']==$number)
            echo 
    'Ты экстрасенс!<br />';
        else
            echo 
    'Ты не угадал, сорри, число было '.$number.'<br />';
    ?>
    <form name="" action="" method="post">
    Число(1-4):<br />
    <input name="number" type="text" value=""><br />
    <input type="submit" name="submit" value="Угадать">
    </form>
     
    #10747 mailbrush, 12 Jul 2009
    Last edited: 12 Jul 2009
  8. diGriz

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

    Joined:
    11 Oct 2006
    Messages:
    138
    Likes Received:
    82
    Reputations:
    6
    mailbrush можно было и так, почти как у него

    PHP:
    <?php
    $in 
    = array ("1""2");
        
    $rands array_rand($in2);
        
    $out $in[$rands[0]];
        echo 
    "<br>".$out;
        
    ?>
        <form method="post">
        <input type="submit" name="arr[]" value='1'>
        <input type="submit" name="arr[]" value='2'>
        <input type="submit" name="arr[]" value='3'>
        <input type="submit" name="arr[]" value='4'>
        <input type="hidden" name="hid" value="<?=$out?>"/>
        </form>
        <?php 
        
    if(isset($_POST['arr']))
        {
           if (
    $_POST['arr'][0] == $_POST['hid']) 
           {
               echo 
    "genius";
           }
        } 
    ?>
     
  9. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    diGriz, у него - быдлокод, а у тебя еще хуже.
     
  10. diGriz

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

    Joined:
    11 Oct 2006
    Messages:
    138
    Likes Received:
    82
    Reputations:
    6
    2mailbrash, я только переделал его код в рабочий вид, а ты его полностью изменил. Правильнее конечно, такую фигню делать с текстовым полем, а не с кнопками.
     
  11. zifanchuck

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

    Joined:
    27 Oct 2008
    Messages:
    396
    Likes Received:
    154
    Reputations:
    3
    mailbrush,diGriz спс. Буду знать на бдущее)
     
  12. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    diGriz, твой скрипт выводит правильное число, перед тем, когда нажал кнопку + оно же отправляется в hidden поле.
     
  13. _gr34t

    _gr34t Member

    Joined:
    26 Oct 2008
    Messages:
    89
    Likes Received:
    13
    Reputations:
    5
    Написал скрипт для авторегистрации на _http://www.volchat.ru/forum/
    Обход капчи - ручной ввод. Но при попытке зарегистрировать юзера пишет, что введённый код не совпадает с проверочным. Кто знает в чём дело?
    PHP:

    <?php

    //VARs 
    $host "www.volchat.ru"
    $path "/forum/profile.php?mode=register"
    $p_to_pics "/forum/profile_pic.php?l="
    $post_path "/forum/profile.php"

    //FUNCTIONs 
    function get_something($host$path$cookie FALSE) { 
        
    $data "GET ".$path." HTTP/1.1\r\n"
        
    $data .= "Host: ".$host."\r\n"
        
    $data .= "User-Agent: Opera/9.63 (Windows NT 5.1; U; ru) Presto/2.1.1\r\n"
        
    $data .= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif\r\n,  image/x-xbitmap, */*;q=0.1\r\n"
        
    $data .= "Accept-Language: ru-RU,ru;q=0.9,en;q=0.8\r\n"
        
    $data .= "Accept-Encoding: gzip,identity\r\n"
        
    $data .= "Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1,UCS-2;q=0, UCS-4;q=0, UTF-1;q=0\r\n"
        
    $data .= "TE: deflate, gzip, chunked, identity, trailers\r\n"
        if (
    $cookie) { 
    //        $data .= "Referer: http://".$host.$path."\r\n"; 
            
    $data .= "Cookie: ".$cookie."\r\n"
        } 
        
    $data .= "Connection: close;\r\n\r\n"

        
    $t fsockopen($host80$errno$error30) or die ("Ошибка № ".$errno.": ".$error); 
        
    fputs($t$data); 
        while(!
    feof($t)) {$output .= fgets($t1024);} 
        return 
    $output


    function 
    get_cookies($page) { 
        
    $headers substr($page0strpos($page"\r\n\r\n")); 
        
    $fragment1 substr($headersstrpos($headers"Set-Cookie: ")); 
        
    $cookie1 str_replace("Set-Cookie: """substr($fragment10strpos($fragment1"; "))); 
        
    $fragment2 str_replace("Set-Cookie: """substr($fragment1strpos($fragment1"\r\n"))); 
        
    $cookie2 str_replace("\r\n"""substr($fragment20strpos($fragment2"; "))); 
        
    $cooks $cookie1."; ".$cookie2
        return 
    $cooks


    function 
    show_capcha($host$path$cookie) { 
        for(
    $i=0$i<8$i++) { 
            
    $pic_with_hs get_something($host$path.$i$cookie); 
            
    $gif substr($pic_with_hsstrpos($pic_with_hs"\r\n\r\n")+4); 
            
    file_put_contents("{$i}.gif"$gif); 
            
    $capcha .= "<img src='{$i}.gif'>"
        } 
        return 
    $capcha


    //PROGRAM 
    $page get_something($host$path);                      //---get page whith cookies 
    $cookie get_cookies($page);                             //---get cookies 
    $sid substr($pagestrpos($page"phpbb2mysql_sid"));   //---|get sid 
    $sid substr($sidstrpos($sid"=")+132);             //---| 
    echo show_capcha($host$p_to_pics$cookie);             //---get captcha! 
    ?> 
    <form method='get' action=''> 
    Капча: <input type='text' name='cap'> 
    <input type='Submit' name='go' value='go'> 
    </form> 
    <?php
    if (isset($_GET['go']) && isset($_GET['cap'])) { 
        
    $aya "абвгдежзиклмнопрстуфхцчшщъыьэюяАБВГДЕЖЗИКЛМНОПРСТУ  ФХЦЧШЩЪЫЬЭЮЯ"
    //    $az = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX  YZ"; 
        
    for($i=0$i<9$i++) { 
            
    $x rand(0strlen($aya)-1); 
            
    $nm .= $aya[$x]; 
            
    $mail .= rand(09); 
    //        $y = rand(0, strlen($az)-1); 
    //        $pass .= $az[$y]; 
        

        
    $pass "8967trtr1"

        
    $reginf "username=".$nm."&user_email=".$mail."@mail.ru&user_email_confirm=".$mail."@mail.ru&robot_confirm=".$_GET['cap']."&new_password=".$pass."&password_confirm=".$pass."&user_from=Z-city&user_gender=1&agree_rules=1&submit=Отправить&mode=register&u=-1&sid=".$sid."&forum_rules_present=1"
        
    $post "POST ".$post_path." HTTP/1.1\r\n"
        
    $post .= "Host: ".$host."\r\n"
        
    $post .= "User-Agent: Opera/9.63 (Windows NT 5.1; U; ru) Presto/2.1.1\r\n"
        
    $post .= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif\r\n,  image/x-xbitmap, */*;q=0.1\r\n"
        
    $post .= "Accept-Language: ru-RU,ru;q=0.9,en;q=0.8\r\n"
        
    $post .= "Accept-Encoding: gzip,identity\r\n"
        
    $post .= "Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1,UCS-2;q=0, UCS-4;q=0, UTF-1;q=0\r\n"
        
    $post .= "Cookie: ".$cookie."\r\n"
        
    $post .= "Content-Type: application/x-www-form-urlencoded\r\n"
        
    $post .= "Content-Length: ".strlen($reginf)."\r\n"
        
    $post .= "Connection: close\r\n\r\n"
        
    $post .= $reginf
        
    $tr fsockopen($host80$errno$error30) or die ("ERROR!"); 
        
    fputs($tr$post); 
        while(!
    feof($tr)) {echo fread($tr1024);} 
        
    $string $nm." registered with password '".$pass."' на адрес ".$mail."@mail.ru\r\n"
        
    $log fopen("reg.log"a) or die ("Не удаётся открыть файл"); 
        
    fwrite($log$string) or die ("Не удаётся записать в файл"); 
        
    fclose($log); 

    ?>
     
    #10753 _gr34t, 12 Jul 2009
    Last edited: 12 Jul 2009
  14. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Юзай КУРЛ... Ща, мб, напишу рабочий...
     
  15. geforse

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    есть может у кого "регистратор)" мыл на яндексе ?
     
  16. Gaus

    Gaus Member

    Joined:
    8 Feb 2009
    Messages:
    136
    Likes Received:
    36
    Reputations:
    3
    в паблике на php нет рабочего
     
  17. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Есть текстовый фаил вида

    Code:
    Line 62068: [14 июл 9:05:17] CREATE:Loot, item 268489235:Spellbook: Mystic Immunity(1), player SP-Dizded, Deinonychus
    Line 62070: [14 июл 9:05:18] CREATE:Loot, item 268489238:Amulet: Pa'agrio's Emblem(1), player SP-Dizded, Deinonychus
    Line 62084: [14 июл 9:05:26] CREATE:Loot, item 268489260:Spellbook: Summon Feline King(1), player SP-Dizded, Ornithomimus
    Line 62384: [14 июл 9:09:52] CREATE:Loot, item 268489951:Ancient Spellbook: Gehenna(1), player SP-Dizded, Tyrannosaurus
    Как можно вывести только числа которые идут после item и запихать их в массив $mass
    Дата может быть разной длинны также не получится далать с какого сомвола считывать, а вот числа эти всегда начинаются на 268
     
  18. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    PHP:
    <?php

    $text 
    'Line 62068: [14 июл 9:05:17] CREATE:Loot, item 268489235:Spellbook: Mystic Immunity(1), player SP-Dizded, Deinonychus
    Line 62070: [14 июл 9:05:18] CREATE:Loot, item 268489238:Amulet: Pa\'agrio\'s Emblem(1), player SP-Dizded, Deinonychus
    Line 62084: [14 июл 9:05:26] CREATE:Loot, item 268489260:Spellbook: Summon Feline King(1), player SP-Dizded, Ornithomimus
    Line 62384: [14 июл 9:09:52] CREATE:Loot, item 268489951:Ancient Spellbook: Gehenna(1), player SP-Dizded, Tyrannosaurus'
    ;

    preg_match_all('/item\040([^:]*):/ims'$text$match);
    $mass $match[1];

    print_r($mass);

    ?>
     
  19. Sharky

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

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    как заменить содержимое элементов массива по маске не затронув останльную часть...и вернуть всё вместе как изменённый массив
    str_replace чё то не получилось
     
  20. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    preg_replace();
     
Thread Status:
Not open for further replies.