1. PHP / Говнокод #5964

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    public function getCurrentDomain()
        {
            $host = 'http://' . $_SERVER['HTTP_HOST'];
            $folder = strstr($_SERVER['SCRIPT_NAME'], 'index.php', true);
            if ($folder)
            {
                if ($folder[1] != '/')
                    $folder = '/' . $folder;
                $host.=$folder;
            }
            if ($host[strlen($host)] != '/')
                $host.='/';
            return $host
    }

    Решил определить домен+папку(если она есть) из откуда работает скрипт. Спать пора, да?
    Как-то оно не так должно быть.

    Запостил: vitaly, 12 Марта 2011

    Комментарии (2) RSS

    • <?php
          $path = 'http://' . $_SERVER['SERVER_NAME'] . dirname($_SERVER['SCRIPT_NAME']);
      ?>
      Ответить
      • Этот вариант тоже подойдет.

        Но про оригинал:
        1. Функция не возвращает Domain (getCurrentDomain), а Domain + Path, т.е. название не очень подходит.
        2.
        if ($host[strlen($host)] != '/')
                    $host.='/';


        Предположим $var[X].
        X в строке всегда начнется с нуля (0).
        ===> strlen($host) вернет на один индекс больше и значит:
        ($host[strlen($host)] (никогда не ровно) '/')
        Ответить

    Добавить комментарий