[英]Get localhost project name from url
If I have a url like http://localhost/project1/
How am I able to get the project1 name from url 如果我有一个像
http://localhost/project1/
这样的http://localhost/project1/
我如何从网址中获取project1名称
What I am trying to achieve is if is localhost $_SERVER['HTTP_HOST'] . '/' . $project
我正在尝试实现的是localhost
$_SERVER['HTTP_HOST'] . '/' . $project
$_SERVER['HTTP_HOST'] . '/' . $project
if (isset($_SERVER['HTTPS']) && (($_SERVER['HTTPS'] == 'on') || ($_SERVER['HTTPS'] == '1'))) {
echo 'https://' . $_SERVER['HTTP_HOST'];
} elseif ($_SERVER['HTTP_HOST'] == 'localhost') {
echo 'http://' . $_SERVER['HTTP_HOST'] . '/'; // GET PROJECT NAME Place after .'/'.
} else {
echo 'http://' . $_SERVER['HTTP_HOST'] . '/';
}
You can retrieve the parts of an URL with the parse_url()
function: 您可以使用
parse_url()
函数检索URL的部分:
$url = 'http://localhost/project1/';
$parts = parse_url($url);
print_r($parts);
Output: 输出:
Array
(
[scheme] => http
[host] => localhost
[path] => /project1/
)
Or, if you want to get the path directly: 或者,如果您想直接获取路径:
$path = parse_url($url, PHP_URL_PATH);
// => /project1/
You can access the requested URI with $_SERVER['REQUEST_URI']
您可以使用
$_SERVER['REQUEST_URI']
访问请求的URI。
So to get the project name in your URL you could do : 因此,要在您的URL中获取项目名称,您可以执行以下操作:
$project = explode('/', $_SERVER['REQUEST_URI'])[1];
To get the the full host or your project you could do : 要获得完整的主机或项目,您可以执行以下操作:
function getFullHost()
{
$protocole = $_SERVER['REQUEST_SCHEME'].'://';
$host = $_SERVER['HTTP_HOST'] . '/';
$project = explode('/', $_SERVER['REQUEST_URI'])[1];
return $protocole . $host . $project;
}
Better way if you have more than one sub directories: 如果您有多个子目录,更好的方法是:
function getFullHost()
{
$protocole = $_SERVER['REQUEST_SCHEME'].'://';
$host = $_SERVER['HTTP_HOST'] . '/';
$project = explode('/', $_SERVER['REQUEST_URI']);
array_pop($project);
array_shift($project);
$path = implode('/', $project);
return $protocole . $host . $path;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.