Задать вопрос
  • Куда в linux можно деть свободные 6gb оперативной?

    kalbas
    @kalbas
    Вынуть планочку и продать, очевидно же!
    Ответ написан
    Комментировать
  • "Трех-симочный" телефон LG A290. Нужен ли обзор?

    cbone
    @cbone
    Серверная инфраструктура
    Нужен.
    Ответ написан
    Комментировать
  • php, ещё раз о кодировке

    Ogra
    @Ogra
    "Àëèíà Ãðîñó — Ìåëîì íà àñôàëüòå" — вам приходит в какой кодировке?
    Если это однобайтовая кодировка, то вам достаточно
    $string = iconv('cp1251', 'utf-8', $string);
    


    Если же это вам приходит в utf-8, то вам нужно сделать так:
    $string = iconv('utf-8', 'cp1252', $string);
    $string = iconv('cp1251', 'utf-8', $string);
    
    Ответ написан
    11 комментариев
  • Php, console, параметры?

    @Next_Alex
    Я делал вот так:
    Немного переработанный метод, найденный в сети:
    function parseArgs( $_SERVER, $_REQUEST )
    {
       $out = array();
       if ( is_array( $_SERVER ) && is_array( $_REQUEST ) )
       {
          $cli_args = isset( $_SERVER[ 'argv' ] ) ? $_SERVER[ 'argv' ] : array();
          if ( count( $cli_args ) > 1 )
          {
             array_shift( $cli_args );
             foreach ( $cli_args as $arg )
             {
                // --foo --bar=baz
                if ( substr( $arg, 0, 2 ) == '--' )
                {
                   $eqPos                  = strpos( $arg, '=' );
                   // --foo
                   if ( $eqPos === false )
                   {
                      $key                = substr( $arg, 2 );
                      $value              = isset( $out[ $key ] ) ? $out[ $key ] : true;
                      $out[ $key ]          = $value;
                   }
                   // --bar=baz
                   else
                   {
                      $key                = substr( $arg, 2, $eqPos - 2 );
                      $value              = substr( $arg, $eqPos + 1 );
                      $out[ $key ]          = $value;
                   }
                }
                // -k=value -abc
                else if ( substr( $arg, 0, 1 ) == '-' )
                {
                   // -k=value
                   if ( substr( $arg, 2, 1 ) == '=' )
                   {
                      $key                = substr( $arg, 1, 1 );
                      $value              = substr( $arg, 3 );
                      $out[ $key ]          = $value;
                   }
                   // -abc
                   else
                   {
                      $chars              = str_split( substr( $arg, 1 ) );
                      foreach ( $chars as $char )
                      {
                         $key            = $char;
                         $value          = isset( $out[ $key ] ) ? $out[ $key ] : true;
                         $out[ $key ]      = $value;
                      }
                   }
                }
                // plain-arg
                else
                {
                   $value                  = $arg;
                   $out[]                  = $value;
                }
             }
          }
          else
          {
             if ( count( $_REQUEST ) > 0 )
             {
                foreach ( $_REQUEST as $key => $value )
                {
                   $out[ $key ] = $value;
                }
             }
          }
       }
       return $out;
    }


    он разбирает все что передано скрипту при запуске через POST, GET либо аргументы командной строки и запихивает в возвращаемый массив. Сам метод живет в отдельном инклюднике.
    И, соответственно, разбор аргументов в самом скрипте:

    $arguments = parseArgs( $_SERVER, $_REQUEST );


    Вызов из консоли вот такой ( хотя в принципе все ясно из кода ):
    php myscript.php --firstarg=somedata -anotherarg=anotherdata --justaflag -anotherflag plainanarg
    Ответ написан
    1 комментарий
  • Nginx + apache 2, ubuntu 11.10, 504-ая ошибка?

    taliban
    @taliban
    php программист
    Есть одно замечательное решение — очередь и отложенные действия. Советую поинтересоваться этой темой а не конвертировать реалтайм.
    Ответ написан
    2 комментария
  • Разработка под Android - с чего начать?

    jimmi
    @jimmi
    А вот для простых приложений(относительно)
    www.phonegap.com/
    писать на хтмл + яваскрипт = работает на андроиде и не только
    Ответ написан
    2 комментария