PHP获取当前页面完整URL的实现代码

2023-12-13php编程
2

获取当前页面完整 URL 的代码实现有多种方法,下面我将介绍其中两种较为常用的方式:

方法一:使用 PHP 全局变量 $_SERVER

PHP 全局变量 $_SERVER 中包含了大量服务器和执行环境信息,可用于获取当前页面的完整 URL。

以下是获取当前页面完整 URL 的示例代码:

$url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo "当前页面的完整 URL 是:".$url;

上述代码中,$_SERVER['HTTP_HOST'] 返回当前域名(例如:www.example.com),$_SERVER['REQUEST_URI'] 返回当前页面的路径和查询字符串(例如:/path/to/page.php?id=123)。

方法二:使用 parse_url() 函数

PHP 的 parse_url() 函数可以将 URL 解析成其组成部分,包括协议、域名、路径、查询字符串等。结合$_SERVER 中的 SERVER_NAME 和 SERVER_PORT 变量,我们可以使用 parse_url() 来获取当前页面的完整 URL。

以下是获取当前页面完整 URL 的示例代码:

$url_components = array(
    "scheme" => ($_SERVER['SERVER_PORT'] == 443) ? "https" : "http",
    "host" => $_SERVER['SERVER_NAME'],
    "port" => $_SERVER['SERVER_PORT'],
    "path" => $_SERVER['REQUEST_URI'],
    "query" => $_SERVER['QUERY_STRING']
);
$url = unparse_url($url_components);
echo "当前页面的完整 URL 是:".$url;

// 使用函数 unparse_url() 将解析出的 URL 组件拼接成完整 URL
function unparse_url($parsed_url) {
    $scheme   = isset($parsed_url['scheme']) ? $parsed_url['scheme'] . '://' : '';
    $host     = isset($parsed_url['host']) ? $parsed_url['host'] : '';
    $port     = isset($parsed_url['port']) ? ':' . $parsed_url['port'] : '';
    $path     = isset($parsed_url['path']) ? $parsed_url['path'] : '';
    $query    = isset($parsed_url['query']) ? '?' . $parsed_url['query'] : '';
    $fragment = isset($parsed_url['fragment']) ? '#' . $parsed_url['fragment'] : '';
    return $scheme . $host . $port . $path . $query . $fragment;
}

上述代码中,我们先使用 $_SERVER 中的 SERVER_NAME 和 SERVER_PORT 变量获取当前域名和端口号,然后使用 parse_url() 函数解析出当前页面的 URL 组件,最后使用函数 unparse_url() 将解析出的 URL 组件拼接成完整 URL。

以上就是两种获取当前页面完整 URL 的常用方法,可以根据具体情况选择使用。

The End

相关推荐

php实现多语言网站的思路和构想
我们在进行系统或者网站开发的时候,有需要多语言切换的功能。PHP作为一种常用的编程语言,可以很方便地实现多语言网站功能。本文将介绍如何使用PHP实现多语言网站功能,并提供相应的代码示例。 创建语言文件 首先,需要创建不同语言的语言文件。每个语言文件...
2025-08-20 php编程
83

php通过调用谷歌翻译API实现网站中英文翻译
我们在制作网站时候,要实现中英文双语网站,通过调用api方式实现文章内容自动翻译,这个要怎么操作呢?以调用谷歌翻译api实现翻译。 获取谷歌翻译秘钥 我们需要到Google Cloud控制台创建一个项目,并启用Cloud Translation API。然后,生成一个API密钥,这个...
2025-08-20 php编程
200

PHP+HTML集成DeepSeek API,实现一个简单的聊天对话项目
PHP+HTML集成DeepSeek API,实现一个简单的聊天对话项目,最终实现效果如下: 准备工作 PHP环境 :确保你的开发环境中安装了PHP。 DeepSeek API密钥 :注册并获取DeepSeek API的访问密钥。 创建api调用接口 创建一个PHP脚本(api.php),用于调用DeepSeek API...
2025-03-31 php编程
100

PHP怎么删除系统中的文件和目录
我们在使用php编程时候,有时候需要删除系统中某个目录。在php中,删除目录是通过使用一些内置函数来完成的。本文将介绍如何使用php中的内置函数删除目录。 一、unlink()函数 PHP中的unlink()函数可以用于删除一个文件,而当用于删除目录时,它只能删除目录...
2025-02-21 php编程
184

js+php实现用户登录
一.ajax完成用户名异步检验 html代码: !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" title用户名是否存在/title/headbodyform action="" method="post" table tr td用户名/td tdinput type="text" name="username" placeholder="请输入用户名" cla...
2025-01-09 php编程
93

PHP如何使用session实现保存用户登录信息
session在php中是一个非常重要的东西,像我们用户登录一般都使用到session这个东西,相对于cookie来说session 要安全很多,同时我们购物车经常使用session来做临时的记录保存哦。 使用session保存页面登录信息 1、数据库连接配置页面:connectvars.php ?php/...
2024-11-05 php编程
95