Я использую XAMPP на Windows Vista. В моей разработке я имею http://127.0.0.1/test_website/
.
Как я добираюсь http://127.0.0.1/test_website/
с PHP?
Я попробовал что-то как они, но ни один из них не работал.
echo dirname(__FILE__)
or
echo basename(__FILE__);
etc.
Попробуйте это:
<?php echo "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; ?>
Узнайте больше о предопределенной переменной $_SERVER
Если вы планируете использовать https, вы можете использовать это:
function url(){
return sprintf(
"%s://%s%s",
isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https' : 'http',
$_SERVER['SERVER_NAME'],
$_SERVER['REQUEST_URI']
);
}
echo url();
#=> http://127.0.0.1/foo
Согласно этому ответу, пожалуйста, убедитесь, что вы правильно настроили Apache, чтобы вы могли безопасно зависеть от SERVER_NAME
.
<VirtualHost *>
ServerName example.com
UseCanonicalName on
</VirtualHost>
ПРИМЕЧАНИЕ: Если вы зависите от ключа HTTP_HOST
(который содержит пользовательский ввод), вам все равно придется произвести некоторую очистку, удалить пробелы, запятые, возврат каретки, все, что не является допустимым символом для домена. Проверьте встроенные функции php parse_url, например.
Я думаю, что суперглобальный сервер $ _ SERVER
содержит информацию, которую вы ищете. Это может быть что-то вроде этого:
echo $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']
Вы можете увидеть соответствующую документацию PHP здесь .