当前位置: 首页> 最新文章列表> PHP实用教程:轻松获取当前域名、主机、URL、端口及请求参数

PHP实用教程:轻松获取当前域名、主机、URL、端口及请求参数

gitbox 2025-08-10

获取当前域名

在PHP中,可以通过$_SERVER['HTTP_HOST']变量获取当前访问的域名,返回浏览器地址栏中的主机名部分。

// 获取当前域名
$domain = $_SERVER['HTTP_HOST'];
echo "当前域名为:" . $domain;

获取主机名

主机名通常指服务器的名称或IP地址,可以使用$_SERVER['SERVER_NAME']来获取当前服务器的主机名。

// 获取主机名
$host = $_SERVER['SERVER_NAME'];
echo "当前主机为:" . $host;

获取完整URL

完整的URL包含协议、域名以及请求的路径和参数。通过拼接$_SERVER['HTTP_HOST']$_SERVER['REQUEST_URI']即可获得当前页面的完整URL。

// 获取URL
$url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
echo "当前URL为:" . $url;

获取访问端口

服务器监听的端口号可以通过$_SERVER['SERVER_PORT']获取,显示当前请求所使用的端口。

// 获取端口
$port = $_SERVER['SERVER_PORT'];
echo "当前端口为:" . $port;

获取URL参数

URL中问号后的参数部分可通过$_GET数组获取,常用于传递数据给服务器。

// 获取参数
if (isset($_GET['name'])) {
    $name = $_GET['name'];
    echo "获取到的参数name为:" . $name;
}

获取完整网址

网址包含协议、域名、端口和请求路径。通过判断是否为HTTPS协议,结合主机名和请求URI来拼接完整网址。

// 获取网址
$protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') ? "https://" : "http://";
$host = $_SERVER['HTTP_HOST'];
$path = $_SERVER['REQUEST_URI'];
$url = $protocol . $host . $path;
echo "当前网址为:" . $url;

获取请求路径

请求路径指URL中域名后面的部分(包括参数),可直接通过$_SERVER['REQUEST_URI']获取。

// 获取路径
$path = $_SERVER['REQUEST_URI'];
echo "当前路径为:" . $path;

获取代理IP

代理服务器IP地址可通过$_SERVER['HTTP_X_FORWARDED_FOR']变量获取,但需注意该信息可能被伪造,仅供参考。

// 获取代理
$proxy = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : '';
echo "当前代理为:" . $proxy;

总结

以上方法涵盖了在PHP中获取当前访问环境相关信息的常用手段,便于开发者在处理请求、生成动态链接或做数据统计时使用。这些变量是PHP内置的$_SERVER超全局数组提供的,能够快速获取客户端请求的各种细节。