php获取当前页面完整url地址实例

先来看一些

$_SERVER[ 'SERVER_NAME' ] #当前运行脚本所在服务器主机的名称。
$_SERVER[ 'QUERY_STRING' ] #查询(query)的字符串。  
$_SERVER[ 'HTTP_HOST' ] #当前请求的 Host: 头部的内容。  
$_SERVER[ 'HTTP_REFERER' ] #链接到当前页面的前一页面的 URL 地址。  
$_SERVER[ 'SERVER_PORT' ] #服务器所使用的端口  
$_SERVER[ 'REQUEST_URI' ] #访问此页面所需的 URI。  

有了些面函数我们就可以开始了

先来看一些base方法

baseUrl的两种方法

方法一:

 代码如下 复制代码

// baseUrl
function baseUrl($uri=''){
 $baseUrl = ( isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') ? 'https://' : 'http://';
 $baseUrl .= isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : getenv('HTTP_HOST');
 $baseUrl .= isset($_SERVER['SCRIPT_NAME']) ? dirname($_SERVER['SCRIPT_NAME']) : dirname(getenv('SCRIPT_NAME'));
 return $baseUrl.'/'.$uri;
}

方法二:

 代码如下 复制代码

    /**
     * Suppose, you are browsing in your localhost
     * http://localhost/myproject/index.php?id=8
     */
    function baseUrl()
    {
        // output: /myproject/index.php
        $currentPath = $_SERVER['PHP_SELF'];

        // output: Array ( [dirname] => /myproject [basename] => index.php [extension] => php [filename] => index )
        $pathInfo = pathinfo($currentPath);

        // output: localhost
        $hostName = $_SERVER['HTTP_HOST'];

        // output: http://
        $protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https://' ? 'https://' : 'http://';

        // return: http://localhost/myproject/
        return $protocol.$hostName.$pathInfo['dirname']."/";
    }

方法三

 代码如下 复制代码

<?php
 /**
  *@author mckee
  *@blog  http://www.111cn.net
  */
 function get_page_url(){
  $url = (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443') ? 'https://' : 'http://';
  $url .= $_SERVER['HTTP_HOST'];
  $url .= isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : urlencode($_SERVER['PHP_SELF']) . '?' . urlencode($_SERVER['QUERY_STRING']);
  return $url;
 }
 echo get_page_url();
?>

下面说明一下获取当前页面完整路径的方法:

 代码如下 复制代码

<?php
function getFullUrl(){
    # 解决通用问题
    $requestUri = '';
    if (isset($_SERVER['REQUEST_URI'])) { #$_SERVER["REQUEST_URI"] 只有 apache 才支持,
        $requestUri = $_SERVER['REQUEST_URI'];
    } else {
        if (isset($_SERVER['argv'])) {
            $requestUri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['argv'][0];
        } else if(isset($_SERVER['QUERY_STRING'])) {
            $requestUri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['QUERY_STRING'];
        }
    }
//    echo $requestUri.'<br />';
    $scheme = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
    $protocol = strstr(strtolower($_SERVER["SERVER_PROTOCOL"]), "/",true) . $scheme;
    $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
    # 获取的完整url
    $_fullUrl = $protocol . "://" . $_SERVER['SERVER_NAME'] . $port . $requestUri;
    return $_fullUrl;
}

echo getFullUrl();注: 由于php没有内置的函数.我们需要对url上的参数进行组合,从而实现整个url

时间: 2024-10-20 11:57:02

php获取当前页面完整url地址实例的相关文章

php获取当前页面完整URL地址_php技巧

使用PHP编写程序的时候,我们常常想要获取当前页面的URL.下面提供一个用于获取当前页面URL的函数以及使用方法:示例一: <?php // 说明:获取完整URL function curPageURL() { $pageURL = 'http'; if ($_SERVER["HTTPS"] == "on") { $pageURL .= "s"; } $pageURL .= "://"; if ($_SERVER[&qu

PHP获取当前页面完整URL的方法_javascript技巧

一.利用javascript实现: top.location.href 顶级窗口的地址 this.location.href 当前窗口的地址 二.利用PHP实现 http://localhost/PHP/XX.php?id=5 //获取域名或主机地址 echo $_SERVER['HTTP_HOST']; #localhost //获取网页地址 echo $_SERVER['PHP_SELF']; #/PHP/XX.php //获取网址参数 echo $_SERVER["QUERY_STRING

PHP获取当前完整URL地址的函数_php技巧

这里主要是给大家分享一个非常实用的PHP函数,代码很简单,就不多废话了,小伙伴们需要的话直接拿去用. 复制代码 代码如下: //php获取当前访问的完整url地址 function get_current_url(){     $current_url='http://';     if(isset($_SERVER['HTTPS'])&&$_SERVER['HTTPS']=='on'){         $current_url='https://';     }     if($_SE

php获取301跳转URL简单实例

 这篇文章主要介绍了php获取301跳转URL简单实例,有需要的朋友可以参考一下  代码如下: /**  * get_redirect_url()  * Gets the address that the provided URL redirects to,  * or FALSE if there's no redirect.   *  * @param string $url  * @return string  */ function get_redirect_url($url){    

php获取本机真实IP地址实例代码_php技巧

本文实例为大家分享了php获取本机真实IP地址实例代码,供大家参考. 主要是获取操作系统为win2000/xp.win7的本机IP真实地址,和获取操作系统为linux类型的本机IP真实地址,具体内容如下 function getLocalIP() { $preg = "/\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\Z/

JS获取当前页面名称的简单实例_javascript技巧

JS获取当前页面名称的简单实例 // 取当前页面名称(不带后缀名) function pageName() { var a = location.href; var b = a.split("/"); var c = b.slice(b.length-1, b.length).toString(String).split("."); return c.slice(0, 1); } //取当前页面名称(带后缀名) function pageName() { var s

js获取来路url和当前url地址实例代码

js获取来路url地址,相当于php的$_SERVER['HTTP_REFERER'].方法:利用js获取来路url地址可以准确地判断网页的真实来路. 目前百度统计,google ads统计,CNZZ统计,都是用的这个方法.防盗链也很简单了,js里判断来路url如果不是本站不显示图片,嘿嘿. document.referrer 注:js中的referer是referrer不是referer,即:document.referrer,不要写错了,要注意了,呵呵,我也写错过额. 例  代码如下 复制代

php 获取完整url地址_php技巧

主要是获取到地址栏的一些信息,域名,端口参数等 复制代码 代码如下: <?php //获取域名或主机地址 echo $_SERVER['HTTP_HOST']."<br>"; //获取网页地址 echo $_SERVER['PHP_SELF']."<br>"; //获取网址参数 echo $_SERVER["QUERY_STRING"]."<br>"; //来源网页的详细地址 echo

Python获取apk文件URL地址实例_python

工作中经常需要提取apk文件的特定URL地址,如是想到用Python脚本进行自动处理.需要用到的Python基础知识如下:os.walk()函数声明:os.walk(top,topdown=True,onerror=None)(1)参数top表示需要遍历的顶级目录的路径.(2)参数topdown的默认值是"True"表示首先返回顶级目录下的文件,然后再遍历子目录中的文件.当topdown的值为"False"时,表示先遍历子目录中的文件,然后再返回顶级目录下的文件.(