Rumah  >  Artikel  >  pengaturcaraan harian  >  php怎么获取当前完整url地址

php怎么获取当前完整url地址

藏色散人
藏色散人asal
2018-12-08 15:09:0033930semak imbas

对于PHP学习者来说,应该都知道$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。显然PHP获取当前页面的完整url地址,主要就用到$_SERVER这个系统变量。

php怎么获取当前完整url地址

下面我们就通过具体的示例给大家介绍PHP获取完整url的实现方法。

首先我们直接打印一下$_SERVER,代码示例如下:

<?php
echo "<pre class="brush:php;toolbar:false">";
var_dump($_SERVER);

输出结果,部分截图如下:

php怎么获取当前完整url地址

$_SERVER的输出结果如图所示,是一个包含41个元素的数组。

那么我们怎么获取当前完整的url?也就是怎么判断当前页是HTTP还是HTTPS,怎么获取域名以及路径?

解决代码如下:

<?php

$uri = $_SERVER[&#39;REQUEST_URI&#39;];
echo $uri;//输出:URI 
echo "<br>";
$protocol = ((!empty($_SERVER[&#39;HTTPS&#39;]) && $_SERVER[&#39;HTTPS&#39;] != &#39;off&#39;) || $_SERVER[&#39;SERVER_PORT&#39;] == 443) ?
    "https://": "http://";
    
$url = $protocol . $_SERVER[&#39;HTTP_HOST&#39;] . $_SERVER[&#39;REQUEST_URI&#39;];
echo $url;//输出完整的url

这里$uri就是获取了文件的路径地址,也就是获取REQUEST_URI这个下标的值。然后再通过上述方法判断当前url头部是以HTTP还是https开头的,最后就可以拼接完整url的三个部分,头部传输协议,域名以及文件地址路径。

结果如下图:

php怎么获取当前完整url地址

如图,我们成功获取到了当前页面的完整url地址。

'REQUEST_URI',URI 用来指定要访问的页面。

'HTTPS',如果脚本是通过 HTTPS 协议被访问,则被设为一个非空的值。

'SERVER_PORT',Web 服务器使用的端口。默认值为 “80”。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。(如果$_SERVER['SERVER_PORT'] 等于443,则表示可以直接访问url,如果等于8443则表示要带上端口号访问。)

'HTTP_HOST',当前请求头中 Host: 项的内容,如果存在的话。

本篇文章就是关于PHP获取当前完整url地址的方法介绍,也是非常简单易懂的,希望对需要的朋友有所帮助

Atas ialah kandungan terperinci php怎么获取当前完整url地址. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn