определить директорию с исполняемым ПХП

Тема в разделе "PHP", создана пользователем Levitt, 22 июл 2011.

Модераторы: latteo
  1. Levitt

    Levitt

    Регистр.:
    20 май 2008
    Сообщения:
    356
    Симпатии:
    34
    Напишите, пожалуйста, способ определение относительно хттп домена директории в которой исполняется скрипт.
    т.е.
    выполняем скрипт _http://site.com/fold_1/fold_2/script.php
    получаем /fold_1/fold_2/
    п.с. как вариант подойдет и название исполняемого файла без директорий "script.php"
     
  2. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    используй массив $_SERVER[] например $_SERVER['SCRIPT_FILENAME']http://php.net/manual/en/reserved.variables.server.php
     
  3. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    Как вариант, можно использовать $_SERVER[’SCRIPT_NAME’].
    Результаты:
    _http://www.yoursite.com/example/ -> /example/index.php
    _http://www.yoursite.com/example/index.php -> /example/index.php
    _http://www.yoursite.com/example/index.php?a=test -> /example/index.php
    _http://www.yoursite.com/example/index.php/dir/test -> /example/index.php
     
  4. Darkmind

    Darkmind SNMP maniac

    Регистр.:
    31 май 2006
    Сообщения:
    182
    Симпатии:
    74
    Не всегда так. УРЛ fold_1/fold_2/script.php не обязательно будет указывать, что script.php находится внутри /fold_1/fold_2/, это может быть mod_rewrite. Поэтому лучше использовать dirname(__FILE__), getcwd() и т.п. в зависимости от нужд.
     
  5. Levitt

    Levitt

    Регистр.:
    20 май 2008
    Сообщения:
    356
    Симпатии:
    34
    Дело в том, что все выше упомянутые способами вмещают в себя также название файла со скриптом, что как-раз и мешает.

    В глобальном - то хочу сделать автопинг сайтмапы... сайтмапа есть, а вот передать её через пост-запросом не могу. К тому же название файла и внутренней директории не статическое, т.е. просто взять и заменить название на sitemap.xml опять не подходит.
     
  6. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    PHP:
    <?php
    $papka 
    str_replace(basename($_SERVER['SCRIPT_NAME']),'',$_SERVER['SCRIPT_NAME']);
    echo 
    $papka;
    PHP:
    echo basename($_SERVER['SCRIPT_NAME']);
     
    Levitt нравится это.
  7. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    кусок рабочего кода:
    PHP:
    $temp dirname($_SERVER['PHP_SELF']);
    if (
    $temp == '\\' OR $temp == '/') {
        
    $temp '';
    }

    define('PATH_DIRECT''http://' $_SERVER['SERVER_NAME'].$temp);

    echo 
    PATH_DIRECT;
    С обрезкой лишнего я думаю справишься сам, к примеру функцией parse_url()
     
    Levitt нравится это.