php获取当前页面完整url地址实例
发布:smiling 来源: PHP粉丝网 添加日期:2014-01-17 11:50:17 浏览: 评论:0
在php中我们要获取 当前页面完整url地址需要使用到几个常用的php全局变量函数了,主要是以$_SERVER[]这些变量,下面我来给各位看一个获取当前页面完整url地址程序吧。
先来看一些PHP变量:
$_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.phpfensi.com
- */
- 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 = emptyempty($_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.
Tags: 获取 当前 页面 完整url地址
相关文章
- ·php 获取当前脚本的url(2013-11-12)
- ·php获取当前页面url地址及参数(2013-12-19)
- ·php获取访问者真实ip地址(2013-12-19)
- ·php 利用Google API 获取当前天气信息代码(2013-12-27)
- ·php获取google当前天气实现程序(2014-01-05)
- ·php获取复选框的值代码(2014-01-06)
- ·php 获取浏览器名称版本实例程序(2014-01-07)
- ·php 获取文章内容的第一张图片实例(2014-01-08)
- ·简单php获取复选框的值代码(2014-01-16)
- ·PHP中get获取url汉字乱码解决办法(2014-01-17)
- ·php 获取当前页面地址(2014-02-23)
- ·php 获取checkbox表单取值程序代码(2014-03-05)
- ·php获取刚刚插入数据的ID值(2014-03-05)
- ·php中直接获取变量值[post,get,cooie]而不$_GET 字符转义(2014-03-25)
- ·php获取超连接传递过来参数值方法(2014-03-25)
- ·PHP $_GET 获取 HTML表单(Form) 或url数据(2014-03-28)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)