Профиль пользователя заблокирован сроком «навсегда» без указания причины
  • Как проверить, что запрос от localhost?

    woonem
    @woonem Автор вопроса
    if(substr($_SERVER['REMOTE_ADDR'], 0, -1)==substr($_SERVER['SERVER_ADDR'], 0, -1))
    Ответ написан
    Комментировать
  • Как псевдоклассом ::after добавить тег?

    woonem
    @woonem Автор вопроса
    block:after {
        content: '\A';
        white-space: pre;
    }
    Ответ написан
    Комментировать
  • Как с консоли зайти на сайт, авторизоваться, выполнить все js-скрипты и получить DOM-дерево?

    woonem
    @woonem
    Поищите в JS ресурс, который запрашивается для получения баланса (ведь баланс подставляется JS'ом?) и запрашивайте его с куками через консоль.
    Возможно, даже куки подставлять не придётся.
    А ещё поговорите с разработчиком о создании API
    Ответ написан
  • От чего на ровном месте появляется display block?

    woonem
    @woonem
    Избавиться совсем от стиля не получится, так как JS изменяет его значение, чтобы элемент loadBar был видимым.
    Можете в коде JavaScript найти display: block и изменить block на любое другое: inline или inline-block

    P.S. Вы таки сумели сделать форму обратной связи?! Не ожидал
    Ответ написан
  • Как подключить форму отправки email?

    woonem
    @woonem
    Вы наверно искали скрипт отправки e-mail, а нашли форму отправки e-mail.
    Ищите в Google "php скрипт отправки email".
    И позаботьтесь о том, чтоб php исполнялся в вашем файле, то есть ваш файл должен быть с расширением .php, на хостинге (или на вашем сервере) должен быть установлен php.
    Ответ написан
    Комментировать
  • Как и на чём лучше писать блог?

    woonem
    @woonem
    Вот вам скрипт для блога:
    spoiler
    <?php
    
    $dir='./news/';
    $app[feed][config][newslimit]=5;
    $app[feed][title]='Блог';
    $app[server][host]=$_SERVER[HTTP_HOST];
    
    $app[server][get]=$_GET;
    $app[system][quotestart]='<div class="quote">'."\n";
    $app[system][quotestop]='</div>'."\n";
    
    function panelbar($name=false, $variable=false, $right=false, $nocut=false, $html=false){
    global $app;
    if(strlen($variable) > 55 & !$nocut){
    $variable=substr($variable, 0, 55);
    $variable.="...";
    }
    if(!$html){
    $variable=htmlspecialchars($variable);
    $variable=str_replace("\n", "<br>", $variable);
    }
    
    $return='<div class="frame">'."\n";
    if($right){
    $return.='<div class="onestr, clearfix">
    <div class="leftstr">'.$name.'</div>
    <div class="rightstr">'.$right."</div>
    </div>\n";
    }else
    $return.=$name."<br>\n";
    $return.=$app[system][quotestart].$variable.$app[system][quotestop]."\n";
    $return.="</div>\n";
    
    return $return;
    }
    
    $page=(float)$app[server][get][page];
    if(!$page or $page<1) $page=1;
    
    if($page>1)
    $app[feed][display].=panelbar('<a href="http://'.$app[server][host].'/?page='.($page-1).'">Предыдущие &gt;</a>').'<br>';
    
    $i=(count(scandir($dir))-2);
    $i-=(($page-1)*$app[feed][config][newslimit]);
    $a=($i-$app[feed][config][newslimit]);
    
    while(true){
    if($i<=$a or !file_exists($dir.$i)) break;
    
    list($name, $date, $preview, $text)=explode("\n", file_get_contents($dir.$i));
    
    $app[feed][display].=panelbar('<h1>'.$name.'</h1>', $preview, $date, true, true);
    $app[feed][display].=panelbar('<a href="http://'.$app[server][host].'/?id='.$i.'">Просмотреть полностью</a>', '');
    $app[feed][display].='<br>';
    
    $i--;
    }
    
    if(file_exists($dir.($i-1)))
    $app[feed][display].=panelbar('<a href="http://'.$app[server][host].'/?page='.($page+1).'">Следующие &gt;</a>');
    
    if($app[server][get][id]){
    list($name, $date, $preview, $text)=explode("\n", file_get_contents($dir.(float)$app[server][get][id]));
    $app[feed][title]=$name.' - '.$app[feed][title];
    $app[feed][description]=strip_tags($preview);
    $app[feed][display]=panelbar('<h1>'.$name.'</h1>', $text, $date, true, true);
    $app[feed][display].=panelbar('Поделиться', '', '<script type="text/javascript" src="//yastatic.net/share/share.js" charset="utf-8"></script><div class="yashare-auto-init" data-yashareL10n="ru" data-yashareType="small" data-yashareQuickServices="vkontakte,facebook,twitter,odnoklassniki,moimir,lj,gplus" data-yashareTheme="counter"></div>', true, true);
    }
    
    if(!$app[feed][display])
    $app[feed][display]='Нет новостей.';
    
    $page='feed';
    
    ?><!DOCTYPE html>
    <html>
    <head>
    <meta name="viewport" content="width=device-width, user-scalable=no">
    <link rel="icon" href="http://<?=$app[server][host]?>/favicon.ico">
    <meta name="description" content="<?=$app[feed][description]?>">
    <meta charset="utf-8">
    <meta name="Document-state" content="Dynamic">
    <meta name="revisit-after" content="3 days">
    <title><?=$app[$page][title]?></title>
    <style>
    @import url(https://fonts.googleapis.com/css?family=Roboto:400,300,700&subset=latin,cyrillic);
    
    *{
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    }
    
    body{
    font-weight: 400;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    line-height: 23px;
    word-wrap: break-word;
    margin: 0;
    }
    
    h1{
    color: #08f;
    font-size: 22px;
    margin: 0;
    margin-bottom: 4px;
    }
    
    h1, h2, h3, h4, h5{ font-weight: 300; }
    
    a{
    margin: 0;
    color: #08f;
    text-decoration: none;
    }
    
    a:hover{ color: #058; }
    
    .button{
    white-space: nowrap;
    margin: 0;
    margin-top: 1px;
    border: 1px solid #08f;
    background: #08f;
    padding: 9px;
    color: #fff !important;
    text-decoration: none !important;
    }
    
    a[class="button"]{
    line-height: 48px !important;
    } 
    
    .button:hover{
    background: #06d;
    }
    
    .frame{
    border: 1px solid #ddd;
    padding: 8px;
    padding-top: 7px;
    }
    
    .header{
    position: fixed;
    left: 0;
    top: 0;
    font-weight: 400;
    font-size: 16px;
    color: #ffffff;
    width: 100%;
    background-color: rgba(20, 20, 20, 0.7);
    padding: 16px;
    padding-left: 32px;
    text-align: center;
    }
    
    .fat{
    display: inline-block;
    width: 100%;
    max-width: 800px;
    font-weight: 700;
    font-size: 26px;
    text-align: left;
    color: #ffffff !important;
    }
    
    .block{
    max-width: 800px;
    text-align: left;
    width: 100%;
    height: 100%;
    padding: 16px;
    padding-top: 68px;
    padding-bottom: 68px;
    }
    
    .onestr{
    display: inline-block;
    float: left;
    width: 100%;
    }
    
    .leftstr, .rightstr{
    float: left;
    display: inline-block;
    margin: 0;
    padding: 0;
    }
    
    .rightstr{
    margin-left: 5px;
    float: right;
    }
    
    .clearfix{
    *zoom: 1;
    }
    
    .clearfix:after{
    content: "";
    display: table;
    clear: both;
    }
    
    .quote{
    vertical-align: text-top;
    line-height: 22px;
    border-left: 4px solid #08f;
    padding-left: 5px;
    margin: 0;
    text-align: left;
    display: block;
    }
    </style>
    </head>
    <body>
    <div class="header">
    <a class="fat" href="http://<?=$app[server][host]?>">Blog</a>
    </div>
    <center>
    <div class="block">
    <?=$app[$page][display]?>
    </div>
    </center>
    </body>
    </html>
    Ответ написан
    Комментировать
  • Как достать контакты из Nokia C5 кирпича по USB?

    woonem
    @woonem Автор вопроса
    https://otvet.mail.ru/question/74834634 - похожий вопрос, но ответов нет
    Ответ написан
    Комментировать
  • Удалить из строки?

    woonem
    @woonem
    Ответ Camaro67 не совсем верный. Он удаляет "=" только если после него что-то есть
    Правильнее $str = preg_replace('/=.*/', '', $str);. Тогда "=" удаляется в любом случае.

    $str = preg_replace('/=[0-9]?/', '', $str); - удаляет все цифры после "=" и до первой буквы. Цифры после букв удалены не будут.
    Ответ написан
    2 комментария
  • Как из домашнего стационарного компьютера сделать сервер?

    woonem
    @woonem
    ОС лучше из семейства Linux, желательно легковесную и без GUI, например, Debian Wheezy (GUI можно убрать в процессе установки).
    Если планируется удаленный доступ, белый IP-адрес обязателен (либо можете использовать туннелирование).
    1 сетевой карты будет достаточно. Если нужен доступ и в интернет, и по локальной сети, используйте роутер, при этом, если вы не используете туннель, в настройках роутера пробросьте нужные порты на ваш сервер.
    Установите MySQL и настройте удаленный доступ к ней.
    Ответ написан
    8 комментариев
  • Что делать с масс-фолловерами на Тостере?

    woonem
    @woonem
    DvLpb
    denm
    ejkrav

    Это все, кого я знаю.
    Последний не флудит в уведомления, но часто подписывается.

    И чего вы вообще жалуетесь?
    Ответ написан
    Комментировать
  • Почему пользователь "ejkrav" подписывется на все мои вопросы?

    woonem
    @woonem
    DvLpb
    denm
    ejkrav

    Это все, кого я знаю.
    Последний не флудит в уведомления, но часто подписывается.

    И чего вы вообще жалуетесь?
    Всякий раз, когда кто-то подписывается на ваш вопрос, или кому-то нравится ваш ответ, или кто-то отмечает ваш ответ решением, вы зарабатываете дополнительную репутацию.
    Ответ написан
    Комментировать
  • У меня одного под две сотни подписок на мои вопросы за раз?

    woonem
    @woonem
    DvLpb
    Denis
    ejkrav

    Надоедает серьёзно.
    Последний не флудит, но часто появляется.

    И чего вы жалуетесь? Это же увеличивает ваш вклад.
    Ответ написан
    Комментировать
  • Где найти услуги китайского токаря?

    woonem
    @woonem
    Есть альтернатива:
    1. с помощью 3D принтера напечатать модель
    2. залить её гипсом, воткнув в гипс две палочки
    3. после застывания достать палочки
    4. расплавить и вылить модель через дырочки от палочек
    5. расплавить и залить алюминий (другие металлы сложнее расплавить)
    6. подождать, пока застынет
    7. разбить форму
    Ответ написан
    1 комментарий
  • Какую выбрать платформу для квадрокоптера?

    woonem
    @woonem
    Данные лучше собирать сонаром, но выбор устройства будет зависеть не от вашего желания, а от ПО. Если будет стоять выбор между сонаром и чем-нибудь ещё (т.е. ПО позволит выбрать), выбирайте сонар.
    Если вы хотите отправить квадрокоптер в далёкое плавание, чтобы обследовать весь мир и сделать свои карты, то такие параметры вам подойдут:
    1. Установите GPS и 3G, сим-карта должна быть с тарифом типа Travel (только если вы дествительно собираетесь отправлять устройство за границу).
    2. Все данные без обработки отправляйте на удалённый компьютер. Удаленный компьютер желательно Raspberry Pi (просто он маленький и его легко положить в коробочку и забыть, а вообще не важно, что на сервере).
    3. Рекомендую не беспокоиться об охлаждении Raspberry Pi, иначе спалите его вообще. Только приклейте радиатор термоклеем к центральному процессору.
    4. Для начинки квадрокоптера используйте ардуино. ПО для него можно найти на тематических форумах.

    5. Про систему автономии отдельно:
      • Прикрепите плотно к квадрокоптеру шар диаметром 3 метра (по моим расчетам; возможно ваш размер другой), и надуйте его водородом. Осторожно, водород взрывоопасен. Если боитесь, используйте гелий, но он тяжелее водорода.
      • Прикрепите так-же солнечные панели. Следует заботиться о том, чтобы солнечные панели не загрязнялись, по этому нужно чистить их дворниками. Лучше, если панели будут собраны в виде кольца, чтобы дворник одним оборотом мог их прочистить.
      • Размеры шара и панелей нужно рассчитать так, чтобы без участия несущих винтов квадрокоптер не взлетал, но энергии, получаемой от панелей хватило бы для вечного полёта.


    Если не планируете пускать его далеко:
    1. Установите GPS и Wi-Fi.
    2. Не меняется.
    3. Не меняется.
    4. Не меняется.
    5. Используйте обычный способ - заряжайте дома. Летает, пока не сядет батарейка.
    Ответ написан
    2 комментария
  • Как сделать собственный hotspot?

    woonem
    @woonem
    Как сделать роутер из Raspberry Pi - вам его настроить будет легче, чем роутер, но не знаю, на сколько одновременных подключений его хватит.
    Ответ написан
    Комментировать
  • Кого читаете на тостере?

    woonem
    @woonem
    Makarov хорошие вопросы
    Владимир Шикльгрубер вопросы
    D' Normalization
    65536 за юмор
    sivabur
    Думай Головой ответы
    Ответ написан
    Комментировать
  • Как скормить CSV PHPlot'у?

    woonem
    @woonem Автор вопроса
    <?php
    include('./phplot.php');
    
    $csv=file_get_contents('http://liveinternet.ru/stat/woonem.tk/index.csv?id=8;id=6;period=month;graph=csv');
    
    $graph =& new PHPlot(320,240);
    $graph->SetTitle("Quantity");
    $graph->SetXTitle('X data');
    $graph->SetYTitle('Y data');
    
    $data = str_getcsv($csv, ';', "\n");
    
    $graph->SetDataValues($data);
    $graph->DrawGraph();
    
    ?>
    Ответ написан
    Комментировать
  • Как создать код генерирующий блок список ip адресов?

    woonem
    @woonem
    <?php
    
    //ВАРИАНТ 1
    
     $start = microtime(true); 
    
     $i1=127; $i2=0; $i3=0; $i4=1; //здесь начало диапазона
     $a1=127; $a2=0; $a3=255; $a4=255; //здесь конец диапазона
     $o1=$i1; $o2=$i2; $o3=$i3; $o4=$i4;
    
     for( ; ; ){
    
      file_put_contents('./1.iplist', $o1.'.'.$o2.'.'.$o3.'.'.$o4."\n", FILE_APPEND); //здесь запись
    
      $o4++;
      if($i3<$a3 or $i2<$a2 or $i1<$a1){
       if($o4>255){
        $o3++;
        if($i2<$a2 or $i1<$a1){
         if($o3>255){
          $o2++;
          if($i1<$a1){
           if($o2>255){
            $o1++;
            if($o1>$a1){
             break;
            }
            $o2=0;
           }
          }elseif($o2>$a2){
           break;
          }
          $o3=0;
         }
        }elseif($o3>$a3){
         break;
        }
        $o4=0;
       }
      }elseif($o4>$a4){
       break;
      }
     }
    
     echo 'Вариант 1: '.(microtime(true) - $start).' сек. '.filesize('./1.iplist')." Байт\n";
    
    
    //ВАРИАНТ 2
    
     $start = microtime(true);
    
     for ($i=0; $i<=255; $i++) {
      for ($e=0; $e<=255; $e++) {
        file_put_contents('./2.iplist', '127.0.'.$i.'.'.$e."\n", FILE_APPEND); //здесь запись
      }
     }
    
     echo 'Вариант 2: '.(microtime(true) - $start).' сек. '.filesize('./2.iplist')." Байт\n";
    
    
    //ВАРИАНТ 3
    
     $start = microtime(true);
    
     $from=ip2long('127.0.0.1');
     $to=ip2long('127.0.255.255');
     while($from++<=$to)
      file_put_contents('./3.iplist', long2ip($from-1)."\n", FILE_APPEND); //здесь запись
    
     echo 'Вариант 3: '.(microtime(true) - $start).' сек. '.filesize('./3.iplist')." Байт\n";
    
    ?>
    Ответ написан
  • Как проверить, попало ли отправленное письмо в спам?

    woonem
    @woonem
    Даже если письмо в спаме, вы будете думать, что оно дошло. Нельзя это проверить.
    Можно только посмотреть ваш IP в спам-базах
    Ответ написан
    3 комментария