I am using XAMPP on Windows Vista. In my development, I have http://127.0.0.1/test_website/
.
如何使用PHP获得http://127.0.0.1/test_website/
?
我试过这样的东西,但都不管用.
echo dirname(__FILE__)
or
echo basename(__FILE__);
etc.
I am using XAMPP on Windows Vista. In my development, I have http://127.0.0.1/test_website/
.
如何使用PHP获得http://127.0.0.1/test_website/
?
我试过这样的东西,但都不管用.
echo dirname(__FILE__)
or
echo basename(__FILE__);
etc.
试试这个:
<?php echo "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; ?>
了解更多关于$_SERVER
predefined variable的信息.
如果您计划使用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
每this answer,请确保正确配置您的Apache,以便您可以安全地依赖SERVER_NAME
.
<VirtualHost *>
ServerName example.com
UseCanonicalName on
</VirtualHost>
NOTE:如果你依赖HTTP_HOST
键(包含用户输入),你仍然需要进行一些清理,删除空格、逗号、回车符等.任何对域无效的字符.查看PHP内置parse_url函数以获取示例.