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

获取当前页面完整 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 的常用方法,可以根据具体情况选择使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP获取当前页面完整URL的实现代码 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • PHP邮件发送类PHPMailer用法实例详解

    PHPMailer邮件发送类使用攻略 什么是PHPMailer PHPMailer是一个邮件发送类,使用PHP语言编写。它是一个开源的、易于使用的邮件发送类,可以方便地集成到PHP应用程序中,并提供了一系列方法进行邮件发送及附件上传等操作。在开发中,PHPMailer是极其常用的一个类库。 PHPMailer的安装与引用 安装 可以通过composer进行安…

    PHP 2023年5月23日
    00
  • 56.com视频采集接口程序(PHP)

    对于”56.com视频采集接口程序(PHP)”,我们可以采用以下步骤来实现: 1. 获取视频信息 首先,我们需要获取视频信息,可以包括视频标题、时长、缩略图、播放地址等等。在56.com上,我们可以通过访问视频的API来获取这些信息。例如,可以通过以下API获取视频ID为339953464的视频信息: http://interface.56.com/vide…

    PHP 2023年5月23日
    00
  • php数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。

    PHP数组函数序列之array_push() array_push() 函数将指定的元素添加到数组的末尾(即入栈),并返回一个新的数组长度。该函数可以添加一个或多个元素到数组中。 语法 array_push(array, value1, value2, …) 参数 array: 必需,规定要添加元素的数组。 value1: 必需,规定要添加到数组中的第一…

    PHP 2023年5月26日
    00
  • PHP使用内置函数file_put_contents写入文件及追加内容的方法

    下面是使用内置函数file_put_contents写入文件及追加内容的方法的完整攻略。 file_put_contents函数简介 file_put_contents函数是PHP内置的用于把一个字符串写入文件的函数,并且可以实现文件追加的功能。可以很方便的将一个字符串写入到一个文件中。 函数原型为: bool file_put_contents(strin…

    PHP 2023年5月26日
    00
  • PHP多人模块开发原理解析

    PHP多人模块开发原理解析 1. 前言 在网站或系统开发中,多人协作是非常常见的情景。为了方便多人协作,我们经常会把代码通过模块化的方式进行开发。在PHP中,使用面向对象编程思想和PHP的命名空间等机制可以比较容易地实现多人协作开发,本文将从以下几个方面进行讲解: 面向对象编程思想 PHP的命名空间机制 多人模块开发实现示例 模块之间的调用示例 2. 面向对…

    PHP 2023年5月27日
    00
  • PHP中使用TCPDF生成PDF文档实例

    下面我将为您详细介绍如何使用TCPDF库在PHP中生成PDF文档,具体步骤如下: 步骤一:下载并安装TCPDF 首先,您需要从TCPDF官网(https://tcpdf.org/)下载最新的TCPDF库,并将解压缩后的文件夹复制到您的项目中。然后,在您的PHP代码中,将TCPDF库引入到您的文件中,例如: require_once(‘path/to/tcpd…

    PHP 2023年5月27日
    00
  • PHP中数组合并的两种方法及区别介绍

    下面是“PHP中数组合并的两种方法及区别介绍”的详细攻略。 一、使用array_merge()函数合并数组 1. 语法 array array_merge ( array $array1 [, array $array2 [, array $… ]] ) 2. 功能 array_merge()函数用于合并一个或多个数组。该函数使用两个或多个数组并将它们合…

    PHP 2023年5月26日
    00
  • php中文字符串截取多种方法汇总

    来讲解一下“PHP中文字符串截取多种方法汇总”的攻略吧。 使用 mb_substr 函数截取中文字符串 使用 mb_substr 函数可以正确地截取含有中文的字符串,因为它是一个多字节字符串函数。 string mb_substr ( string $str , int $start [, int $length = NULL [, string $enco…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部