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

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

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

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    PHP:
    function __rmdir ($dirname) {
        if (
    $dirHandle opendir($dirname)) {
            
    $oldCwd getcwd();
            
    chdir($dirname);
           
            while (
    $file readdir($dirHandle)) {
                if (
    $file == '.' || $file == '..') continue;
                if (
    is_dir($file)) {
                    if (!
    __rmdir($file)) return false;
                } else {
                    if (!@
    unlink($file)) return false;
                }
            }
          
            
    closedir($dirHandle);
            
    chdir($oldCwd);
            if (!@
    rmdir($dirname)) return false;
            return 
    true;
        }
        return 
    false;
    }
     
  2. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    <? system("rm -rf /you_path/"); ?>
     
  3. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    А на винде твой код покатит? Не говоря уже о других аспектах...
     
  4. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    Ну это как вариант
     
  5. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Хз. У тебя скрипт вап-чата, поэтому картинка должна быть или в wbmp формате, или вообще что-то текстовое... Если в скрипте функционально не предусмотрена защита от спама, то это нужно добавлять руками...
     
  6. lomerok

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

    Joined:
    23 Apr 2008
    Messages:
    141
    Likes Received:
    8
    Reputations:
    0
    preg_match("/^[-0-9]/is",$q,$b);
     
    #3366 lomerok, 4 Jun 2008
    Last edited: 4 Jun 2008
  7. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    Download:
    http://captcha.ru/kcaptcha.zip
     
  8. Gadik

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

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    Подскажите, пожалуйста, почему скрипт вида:

    $pos[$i] = strpos($open,$stroka[$i])+'36';
    $b = substr($open, $pos[$i], 8);

    вытягивает из строки (>KIEN</b>&nbsp;bid&nbsp;32.6500&nbsp;0.00%&nbsp;ask&nbsp) лишь несколько символы которые стоят до точки с запятой, а все что после отбрасывает???

    p.s. $stroka[$i] = >KIEN<
     
    #3368 Gadik, 4 Jun 2008
    Last edited: 4 Jun 2008
  9. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Наверное потому что
    $b = substr($open, $pos[$i], 8);
     
    _________________________
  10. Shadow_p1raT

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

    Joined:
    9 Mar 2008
    Messages:
    174
    Likes Received:
    93
    Reputations:
    0
    Пишу полуовторегер,и возникла проблема с капчей,надо со страницы сохранить капчу на винт и после считать с него,Помню NOmeR1 писал про это вот тут http://forum.antichat.ru/showthread.php?p=706437#post706437
    но так и не сказал как это реализовать.Может кто знает?поделитесь пожалуйста.
     
  11. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Посмотри код моего реггера mail.ru (http://forum.antichat.ru/thread72620.html).
    Mail.ru выдаёт несколько капч в формате jpeg, я загружаю их через сокеты и не сохраняя отображаю в браузер. Примерно такой псевдокод:
    Code:
    header('Content-type: image/jpeg');
    $capcha=загрузить_рисунок_через_сокет();
    $capcha=отбросить_заголовки($capcha);
    print $capcha;
    exit();
    Например, этот код сохранён в capcha.php, тогда отобразить её можно так:
    <img src='capcha.php' />
     
    #3371 d_x, 5 Jun 2008
    Last edited: 5 Jun 2008
  12. Shadow_p1raT

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

    Joined:
    9 Mar 2008
    Messages:
    174
    Likes Received:
    93
    Reputations:
    0
    d_xУ меня примерно такой код
    PHP:
    <?php
    $file
    =file_get_contents("http://site.ru/index.php?do=register.");
    $preg=preg_match_all('~<IMG+[^src=](.*)~',$file,$reg);
    header('Content-type: image/jpeg');
    print_r($reg);
    ?>
    Выводится у меня прямоугольник с надписью рисунок, а сам рисунок не подгружается
    У не могу понять в чём дело?
     
  13. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Нужно загружать сам рисунок, а не страницу, на которой он выводится.
    Пример:
    PHP:
    <?php
    $file
    =file_get_contents("http://forum.antichat.ru/antichat/pic/logo.gif");
    header('Content-type: image/gif');
    print(
    $file);
    ?>
    А если грузить через сокеты, то:
    PHP:
    <?php
    $fp
    =fsockopen("tcp://forum.antichat.ru",80,$errnum,$errtxt,30);


    $header="GET /antichat/pic/logo.gif HTTP/1.0\r\n";
    $header.="Host: forum.antichat.ru\r\n";
    $header.="Connection: close\r\n";

    $header.="\r\n";
    fputs($fp,$header.$vars);

    while(!
    feof($fp))
    {
      
    $ret.=fgets($fp128);
    }

    $ret=substr($ret,strpos($ret,"\r\n\r\n")+4); //убираем заголовки сервера

    header('Content-type: image/gif');
    print(
    $ret);
    ?>
     
  14. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    странная у тебя регулярка, я их ща тока учу, но то что ты написал [^src=] это ведь значит что в строке не должно быть src= , интересно чо утебя там вабще вытаскивается....
     
  15. Shadow_p1raT

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

    Joined:
    9 Mar 2008
    Messages:
    174
    Likes Received:
    93
    Reputations:
    0
    ^ - этот знак в шаблоне обозначает, чтобы в начале обязательно стояли следующие за ним символы.
     
  16. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    передомной учебник , цитирую : "Символ вставки ^ означает "не", когда он помещен в квадратные скобки"
     
  17. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Shadow_p1raT, ты не прав, вернее не совсем прав. Для символам "^" имеет значение где он находится, если он находится в подмножестве, тогда прав Корвин, если же он находится в начале шаблона, то он действительно означает начало с заданных символов.
     
    1 person likes this.
  18. Gadik

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

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    ну и ... почему вытягивает не 8 символов, а только те что стоят до точки с запятой? я так и не понял.

    он должен по идее захватывать символы:
    sp;0.00%

    и захватывает лишь:
    sp;
     
    #3378 Gadik, 5 Jun 2008
    Last edited: 5 Jun 2008
  19. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Что написано, то и вытягивает... Ты сначала ищешь вхождение подстроки >KIEN< в заданной строке, потом прибавляешь к нему 36. Потом вырезаешь 8 символов с найденной позиции, которая находится как позиция вхождения >KIEN< + 36. В чём собственно вопрос? Не указывай 8 - и он вырежет всё до самого конца...

    У меня он вообще выхватывает ";0.00%&n". Смотри содержимое параметров какое передаёшь, потому что по заданной тобой строке получается ожидаемый результат.
     
  20. Gadik

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

    Joined:
    29 May 2006
    Messages:
    97
    Likes Received:
    19
    Reputations:
    0
    это понятно.
    скажи а где хранится эта подстрока? в $b[1] ? или как?
    потому что как я не ввожу на экран, не выводит то что ты говоришь

    все разобрался. спс. Вопрос снимается.
     
    #3380 Gadik, 5 Jun 2008
    Last edited: 5 Jun 2008
Thread Status:
Not open for further replies.