在 PHP 中查找基本 URL

Subodh Poudel 2022年5月13日
在 PHP 中查找基本 URL

本文将介绍几种在 PHP 中查找应用程序的基本 URL 的方法。

在 PHP 中使用 $_SERVER 超全局变量查找基本 URL

PHP 中的 $_SERVER 超全局变量包含有关服务器和执行环境的信息。

术语超全局变量表示可以在程序的每个范围内访问该变量。该变量是一个预定义的数组,包含范围广泛的索引。

我们可以使用各种索引来查找路径、标题和脚本位置。 $_SERVER 数组中使用的可用索引的几个示例是 SERVER_NAMESERVER_ADDRHTTP_HOSTREMOTE_HOST 等。

Web 服务器提供这些索引。因此,索引的可用性因网络服务器而异。使用 $_SERVER 数组的示例如下所示。

<?php
echo $_SERVER['SERVER_NAME'];
?>

输出:

localhost

在上面的示例中,使用的服务器是 localhost。 $_SERVER['SERVER_NAME] 数组返回当前脚本正在执行的服务器主机名。

我们可以使用 $_SERVER 数组在 PHP 中查找应用程序的基本 URL。SERVER_NAMEREQUEST_URI 索引对于查找基本 URL 很有用。

REQUEST_URI 索引返回当前网页的 Unifrom 资源标识符 (URI)。

例如,创建一个变量 $server 并在其中存储 $_SERVER['SERVER_NAME']。同样,将 $_SERVER['REQUEST_URI'] 存储在 $uri 变量中。

接下来,将字符串 http://与变量 $server$uri 连接起来,并使用 print 函数打印它们。

结果,我们可以看到当前应用程序的基本 URL。下面的示例显示了当前应用程序在 localhost 中运行时的路径。

$server = $_SERVER['SERVER_NAME'];
$uri = $_SERVER['REQUEST_URI'];
print "http://" .$server. $uri;

输出:

http://localhost/my_app/

我们还可以使用 $_SERVER 数组中的 HTTP_HOST 索引获取主机名。索引 HTTP_HOST 返回应用程序中当前请求的主机头。

它与 SERVER_NAME 索引之间的区别在于 HTTP_HOST 从客户端请求中检索标头,而 SERVER_NAME 检索在服务器配置中定义的信息。

SERVER_NAME 索引比 HTTP_HOST 更可靠,因为该值是从服务器返回的并且无法修改。获取应用程序基本 URL 的 HTTP_HOST 索引示例如下所示。

$host = $_SERVER['HTTP_HOST'];
$uri = $_SERVER['REQUEST_URI'];
print "http://" .$host. $uri;

输出:

http://localhost/my_app/

以上是我们如何在 PHP 中找到应用程序的基本 URL。

作者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn