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

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

Thread Status:
Not open for further replies.
  1. ANTIHАCK

    ANTIHАCK Member

    Joined:
    20 Jun 2009
    Messages:
    19
    Likes Received:
    7
    Reputations:
    0
    del
     
    #12901 ANTIHАCK, 27 Nov 2009
    Last edited: 22 Jun 2010
  2. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    fwrite($a, "$" . "host");
     
    2 people like this.
  3. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    PHP:
    fwrite($handle'$host');
     
    1 person likes this.
  4. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    :D Экранирование слэшем не в моде?
     
  5. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    PHP:
    <?php

    set_time_limit
    (0);

    function 
    flush_buffers()
    {
        
    ob_end_flush();
        @
    ob_flush();
        
    flush();
        
    ob_start();
    }

    function 
    get_page($url)
    {
        
    $ch curl_init($url);
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
    curl_setopt($chCURLOPT_FOLLOWLOCATION0);
        
    $res curl_exec($ch);
        return 
    $res;

    }

    function 
    check_cypr($hostname)
    {
        
    $sign get_sign($hostname);
        
    $pr_cy get_page('http://www.cy-pr.com/ajax/ajax.php?dod=cypr&url=' $hostname .
            
    '&site_signature=' $sign);

        
    preg_match('#(\d+)\|.*\|(\d+)\|.*#'$pr_cy$pr_cy);
        return array(
    'pr' => $pr_cy[2], 'cy' => $pr_cy[1]);
    }

    function 
    get_sign($hostname)
    {
        
    $res get_page('http://www.cy-pr.com/analysis/' $hostname);

        
    preg_match('#var site_signature = "([a-z0-9]{32})";#i'$res$sign);
        return 
    $sign[1];

    }

    ?>

    <html>

    <head>
    <title>Mass PR & CY checker</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    </head>

    <form action="" method="POST">
    <table class="f_second" align="center">
    <tr><td class="f_second">Введите список сайтов в поле ниже</td>
    <tr><td class="f_first"><textarea name="sites" rows="10" cols="110"></textarea></td>
    <tr><td colspan="2"><input type="submit" name="check" value="Проверить" class="button"/></td>
    </table>
    </form>
    <table class="second" align="center">
    <?php

    if (isset($_POST['check']))
    {

        echo 
    '<tr><td>Сайт</td><td>PR</td><td>тИЦ</td>';
        
    $arrays array_unique(explode("\r\n"$_POST['sites']));
        
    sort($arrays);
        
    $urls array_map('trim'$arrays);
        
    $_url = array();
        foreach (
    $urls as $url)
        {
            
    $url parse_url($urlPHP_URL_HOST);
            if (!
    in_array($url$_url))
            {
                
    $vars check_cypr($url);
                echo 
    '<tr><td class="second">' $url '</td><td class="first">' $vars['pr'] .
                    
    '</td><td class="first">' $vars['cy'] . '</td>';
                
    $_url[] = $url;
            }
        }
    }
    exit;

    ?>
    </table>

    </html>
    Набыдлокодил я такой код) Но в PHP есть траблы какие-то с буферизацией, то есть я ввел 500 сайтов, и мне придется ждать, пока все сайты проверит, аж тогда выведется результат. Но мне надо, чтобы выводило по мере проверки, то есть проверило 1 сайт - вывело строчку с этим сайтом и т.д... , поэтому набыдлокодил я такую ф-цию, как flush_buffers(), но куда уже её не тыкал, буфер не стирается) Хелп... куда её кидать то?
     
  6. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Да нет, это как раз таки PHP. До этого я использовал класс для проверки тИЦ, PR - я подставил в цикле эту ф-цию, и все работало на "ура", а здесь куда бы не ставил - 0 эффекта.
     
  7. ANTIHАCK

    ANTIHАCK Member

    Joined:
    20 Jun 2009
    Messages:
    19
    Likes Received:
    7
    Reputations:
    0
    del
     
    #12907 ANTIHАCK, 28 Nov 2009
    Last edited: 22 Jun 2010
  8. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Да я тоже помню в прошлом году, непомню какая опера была 9+, можно было выводить частями, елементарно:
    PHP:
    <?php
    echo '123';
    echo 
    str_pad('',1024)."\r\n";
    flush();
    sleep(1);
    echo 
    '456';
    echo 
    str_pad('',1024)."\r\n";
    flush();
    sleep(1);
    ?>
    У Чаака спер с скрипта Вирустотал проверки. Сейчас такое не катит, но есть же AJAX, так что все ОК.
     
  9. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Слэш лишний
    PHP:
    $de1 "/install.php";
    Код из 3х строк ужаснейший, зачем ты береш переменную ковычки:
    PHP:
    unlink("$de1");
    А тут темболее в одинарные:
    PHP:
    chmod ('$de1'0777);
    К сведению если ты ставиш слэш в начале имени файла значит путь будет считатся с начала, тоесть :
    cd /var/www/ - ты перейдеш в папку www с корня файловвой системы.
    cd var/www ты перейдеш в папку www с текушго места, есессно если путь существует, ето относительный путь называется.
     
  10. ANTIHАCK

    ANTIHАCK Member

    Joined:
    20 Jun 2009
    Messages:
    19
    Likes Received:
    7
    Reputations:
    0
    del
     
    #12910 ANTIHАCK, 28 Nov 2009
    Last edited: 22 Jun 2010
  11. phpdreamer

    phpdreamer Member

    Joined:
    26 Jul 2009
    Messages:
    522
    Likes Received:
    86
    Reputations:
    19
    права поставь на скрипт 755
     
  12. ANTIHАCK

    ANTIHАCK Member

    Joined:
    20 Jun 2009
    Messages:
    19
    Likes Received:
    7
    Reputations:
    0
    del
     
    #12912 ANTIHАCK, 28 Nov 2009
    Last edited: 22 Jun 2010
  13. DeluxeS

    DeluxeS Member

    Joined:
    1 Aug 2009
    Messages:
    7
    Likes Received:
    81
    Reputations:
    19
    На папку и на файл 777
     
  14. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    А еще лучше указывать полный путь к файлу:
    PHP:
    <?php
    unlink
    getcwd().DIRECTORY_SEPARATOR.'file.txt');
    ?>
     
    1 person likes this.
  15. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    А вы не думали что файл залитый на сервак лежит от пользователя user:user

    а когда вы пыаетесь его удалить или сменить права не по фтп
    возможно к нему идет обращение не от того пользователя.
     
  16. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Почитай))
    http://ru.wikipedia.org/wiki/Chmod
    http://ru.wikipedia.org/wiki/Chown
    http://ru.wikipedia.org/wiki/Chgrp

    если Чмод файла 0777 то даже www-data сможет его unlink, другое дело хватит ли привелегий текущему юзверу на chmod
     
  17. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Как разденить число 100000
    на такой вид 100 000

    Ну и чтоб каждые 3 символа отделялись а не толоько 1 раз...
     
    #12917 Byrger, 28 Nov 2009
    Last edited: 28 Nov 2009
  18. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    PHP:
    number_format ($num0''' ');
    либо регулярка
    PHP:
    preg_replace ('/(?<=\d)(?=(\d\d\d)+(?!\d))/'' '$str);
     
    1 person likes this.
  19. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    отправляю запрос курлом,
    получаю страницу с javascript редиректом.
    как быть?
     
  20. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Вопрос не ясен, возвращай результат в переменную и делай дальше что тебе надо, ты же видимо делаеш вывод в браузер и идеш по редиректу, в таком случае сохраняй работу курла в лог.тхт
     
Thread Status:
Not open for further replies.