查看: 16002|回复: 2
打印 上一主题 下一主题

php如何获得当前浏览器地址栏中得url地址?

[复制链接]
跳转到指定楼层
1#
发表于 2007-9-27 22:10:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
我在浏览器中输入www.domain.com/test/test.php
用那个函数能得到上面我在浏览器中输入的这个字符串呢?
朋友们帮忙,给点提示:)

PHP代码:--------------------------------------------------------------------------------
$url = $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];

--------------------------------------------------------------------------------
in my phpinfo()
Server API CGI/FastCGI

_SERVER["REDIRECT_STATUS"] 200
_SERVER["HTTP_ACCEPT"] image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
_SERVER["HTTP_ACCEPT_LANGUAGE"] zh-cn
_SERVER["HTTP_ACCEPT_ENCODING"] gzip, deflate
_SERVER["HTTP_USER_AGENT"] Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
_SERVER["HTTP_HOST"] localhost
_SERVER["HTTP_CONNECTION"] Keep-Alive
_SERVER["PATH"] C:\\WINNT\\system32;C:\\WINNT;C:\\WINNT\\System32\\Wbem
_SERVER["SystemRoot"] C:\\WINNT
_SERVER["COMSPEC"] C:\\WINNT\\system32\\cmd.exe
_SERVER["PATHEXT"] .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
_SERVER["WINDIR"] C:\\WINNT
_SERVER["SERVER_SIGNATURE"] <address>Apache/2.0.48 (Win32) Server at localhost Port 80</address>
_SERVER["SERVER_SOFTWARE"] Apache/2.0.48 (Win32)
_SERVER["SERVER_NAME"] localhost
_SERVER["SERVER_ADDR"] 127.0.0.1
_SERVER["SERVER_PORT"] 80
_SERVER["REMOTE_ADDR"] 127.0.0.1
_SERVER["DOCUMENT_ROOT"] C:/Apache/Apache2/htdocs
_SERVER["SERVER_ADMIN"] admin@admin.com
_SERVER["SCRIPT_FILENAME"] C:/php/php.exe
_SERVER["REMOTE_PORT"] 2238
_SERVER["REDIRECT_URL"] /test/test6.php
_SERVER["GATEWAY_INTERFACE"] CGI/1.1
_SERVER["SERVER_PROTOCOL"] HTTP/1.1
_SERVER["REQUEST_METHOD"] GET
_SERVER["QUERY_STRING"] no value
_SERVER["REQUEST_URI"] /test/test6.php
_SERVER["SCRIPT_NAME"] /php/php.exe
_SERVER["PATH_INFO"] /test/test6.php
_SERVER["PATH_TRANSLATED"] C:\\Apache\\Apache2\\htdocs\\test\\test6.php
_SERVER["PHP_SELF"] /test/test6.php
_SERVER["argv"] Array
(
)

_SERVER["argc"] 0
_ENV["REDIRECT_STATUS"] 200
_ENV["HTTP_ACCEPT"] image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
_ENV["HTTP_ACCEPT_LANGUAGE"] zh-cn
_ENV["HTTP_ACCEPT_ENCODING"] gzip, deflate
_ENV["HTTP_USER_AGENT"] Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
_ENV["HTTP_HOST"] localhost
_ENV["HTTP_CONNECTION"] Keep-Alive
_ENV["PATH"] C:\\WINNT\\system32;C:\\WINNT;C:\\WINNT\\System32\\Wbem
_ENV["SystemRoot"] C:\\WINNT
_ENV["COMSPEC"] C:\\WINNT\\system32\\cmd.exe
_ENV["PATHEXT"] .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
_ENV["WINDIR"] C:\\WINNT
_ENV["SERVER_SIGNATURE"] <address>Apache/2.0.48 (Win32) Server at localhost Port 80</address>
_ENV["SERVER_SOFTWARE"] Apache/2.0.48 (Win32)
_ENV["SERVER_NAME"] localhost
_ENV["SERVER_ADDR"] 127.0.0.1
_ENV["SERVER_PORT"] 80
_ENV["REMOTE_ADDR"] 127.0.0.1
_ENV["DOCUMENT_ROOT"] C:/Apache/Apache2/htdocs
_ENV["SERVER_ADMIN"] admin@admin.com
_ENV["SCRIPT_FILENAME"] C:/php/php.exe
_ENV["REMOTE_PORT"] 2238
_ENV["REDIRECT_URL"] /test/test6.php
_ENV["GATEWAY_INTERFACE"] CGI/1.1
_ENV["SERVER_PROTOCOL"] HTTP/1.1
_ENV["REQUEST_METHOD"] GET
_ENV["QUERY_STRING"] no value
_ENV["REQUEST_URI"] /test/test6.php
_ENV["SCRIPT_NAME"] /php/php.exe
_ENV["PATH_INFO"] /test/test6.php
_ENV["PATH_TRANSLATED"] C:\\Apache\\Apache2\\htdocs\\test\\test6.php
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
2#
 楼主| 发表于 2007-9-27 22:10:18 | 只看该作者
台州网址导航
关于parse_url()函数

parse_url
(PHP 3, PHP 4 , PHP 5)

parse_url -- 解析 URL,返回其组成部分
描述
array parse_url ( string url)


此函数返回一个关联数组,包含现有 URL 的各种组成部分。如果缺少了其中的某一个,则不会为这个组成部分创建数组项。组成部分为:


scheme - 如 http

host

port

user

pass

path

query - 在问号 ? 之后

fragment - 在散列符号 # 之后


此函数并 不 意味着给定的 URL 是合法的,它只是将上方列表中的各部分分开。parse_url() 可接受不完整的 URL,并尽量将其解析正确。

注: 此函数对相对路径的 URL 不起作用。

例子 1. parse_url() 示例

$ php -r 'print_r( parse_url("http://username:password@hostname/path?arg=value#anchor"));'
Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)

$ php -r 'print_r( parse_url("http://invalid_host..name/"));'
Array
(
    [scheme] => http
    [host] => invalid_host..name
    [path] => /
)
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
3#
 楼主| 发表于 2007-9-27 22:10:35 | 只看该作者
台州网址导航
关于http_build_query()函数的使用信息

http_build_query
(PHP 5)

http_build_query -- 生成 url-encoded 之后的请求字符串
描述
string http_build_query ( array formdata [, string numeric_prefix])


使用给出的关联(或下标)数组生成一个 url-encoded 请求字符串。参数 formdata 可以是数组或包含属性的对象。一个 formdata 数组可以是简单的一维结构,也可以是由数组组成的数组(其依次可以包含其它数组)。如果在基础数组中使用了数字下标同时给出了 numeric_prefix 参数,此参数值将会作为基础数组中的数字下标元素的前缀。这是为了让 PHP 或其它 CGI 程序在稍后对数据进行解码时获取合法的变量名。

例子 1. http_build_query() 使用示例

<?php
$data = array('foo'=>'bar',
              'baz'=>'boom',
              'cow'=>'milk',
              'php'=>'hypertext processor');
              
echo http_build_query($data);
/* 输出:
      foo=bar&baz=boom&cow=milk&php=hypertext+processor
*/
?>  

例子 2. http_build_query() 使用数字下标的元素

<?php
$data = array('foo', 'bar', 'baz', 'boom', 'cow' => 'milk', 'php' =>'hypertext processor');
              
echo http_build_query($data);
/* 输出:
      0=foo&1=bar&2=baz&3=boom&cow=milk&php=hypertext+processor
*/

echo http_build_query($data, 'myvar_');
/* 输出:
      myvar_0=foo&myvar_1=bar&myvar_2=baz&myvar_3=boom&cow=milk&php=hypertext+processor
*/
?>  

例子 3. http_build_query() 使用复杂的数组

<?php
$data = array('user'=>array('name'=>'Bob Smith',
                            'age'=>47,
                            'sex'=>'M',
                            'dob'=>'5/12/1956'),
              'pastimes'=>array('golf', 'opera', 'poker', 'rap'),
              'children'=>array('bobby'=>array('age'=>12,
                                               'sex'=>'M'),
                                'sally'=>array('age'=>8,
                                               'sex'=>'F')),
              'CEO');
                                               
echo http_build_query($data, 'flags_');
/* 输出:(为了可读性对其进行了折行)
      user[name]=Bob+Smith&user[age]=47&user[sex]=M&user[dob]=5%1F12%1F1956&
      pastimes[0]=golf&pastimes[1]=opera&pastimes[2]=poker&pastimes[3]=rap&
      children[bobby][age]=12&children[bobby][sex]=M&children[sally][age]=8&
      children[sally][sex]=F&flags_0=CEO

   注意:只有基础数组中的数字下标元素“CEO”才获取了前缀,其它数字下标元素(如
   pastimes 下的元素)则不需要为了合法的变量名而加上前缀。
*/
?>  

例子 4. http_build_query() 使用对象

<?php
class myClass {
  var $foo;
  var $baz;
  
  function myClass() {
    $this->foo = 'bar';
    $this->baz = 'boom';
  }
}

$data = new myClass();

echo http_build_query($data);
/* 输出:
      foo=bar&baz=boom
*/
?>
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表