URL与参数的相关知识点

来源:互联网 发布:婚纱照一键修图软件 编辑:程序博客网 时间:2024/06/06 08:40

开始接触PHP以来,对$_SERVER这个函数了解不多,现在通过这个实例,加深一下了解。

首先,想要获取URL上面的参数除了$_GET之外还有很多方法可以获得,今天统一都试一试。

1、$_SERVER['QUERY_STRING']:这个函数直接可以给出参数,经测试没有什么问题;

2、函数的形式:

<span style="white-space:pre"></span>/** * 说明:获取完整URL * $is_get:代表URL后边是否需要带参数,默认为1,带 */function curPageURL($is_get = 1) {//不接受0,1意外的参数if(!in_array($is_get,array(0,1))){return FALSE;}//如不需要参数可将$_SERVER["REQUEST_URI"]换成$_SERVER["PHP_SELF"]if($is_get ==0){$url = $_SERVER["PHP_SELF"];}else{$url = $_SERVER["REQUEST_URI"];}    $pageURL = 'http';    if ($_SERVER["HTTPS"] == "on")     {        $pageURL .= "s";    }    $pageURL .= "://";    if ($_SERVER["SERVER_PORT"] != "80")     {    //服务器名称+端口+URL链接;如不需要参数可将$_SERVER["REQUEST_URI"]换成$_SERVER["PHP_SELF"]        $pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $url;    }     else     {        $pageURL .= $_SERVER["SERVER_NAME"] . $url;    }    return $pageURL;}
3、parse_url($this->curPageURL());:配合上边的函数,以数组形式输出。

4、basename($this->curPageURL());:配合上边的函数,直接输出部分URL。

附:$_SERVER的打印结果

Array(    [HTTP_HOST] => 127.0.0.1    [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0    [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8    [HTTP_ACCEPT_LANGUAGE] => zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3    [HTTP_ACCEPT_ENCODING] => gzip, deflate    [HTTP_REFERER] => http://127.0.0.1/thinkphp/index.php?metal=silver    [HTTP_COOKIE] => Hm_lvt_1247e0dc0e4ab64a346aee382407934f=1450230685,1450256189,1450313933,1450406253; PHPSESSID=umf04i9tfjnmfo5993np7t3hg4    [HTTP_CONNECTION] => keep-alive    [HTTP_CACHE_CONTROL] => max-age=0    [PATH] => C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\TortoiseSVN\bin;    [SystemRoot] => C:\Windows    [COMSPEC] => C:\Windows\system32\cmd.exe    [PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC    [WINDIR] => C:\Windows    [SERVER_SIGNATURE] =>     [SERVER_SOFTWARE] => Apache/2.4.4 (Win64) PHP/5.4.12    [SERVER_NAME] => 127.0.0.1    [SERVER_ADDR] => 127.0.0.1    [SERVER_PORT] => 80    [REMOTE_ADDR] => 127.0.0.1    [DOCUMENT_ROOT] => D:/wamp/www    [REQUEST_SCHEME] => http    [CONTEXT_PREFIX] =>     [CONTEXT_DOCUMENT_ROOT] => D:/wamp/www    [SERVER_ADMIN] => admin@example.com    [SCRIPT_FILENAME] => D:/wamp/www/thinkphp/index.php    [REMOTE_PORT] => 58023    [GATEWAY_INTERFACE] => CGI/1.1    [SERVER_PROTOCOL] => HTTP/1.1    [REQUEST_METHOD] => GET    [QUERY_STRING] => metal=gold    [REQUEST_URI] => /thinkphp/index.php?metal=gold    [SCRIPT_NAME] => /thinkphp/index.php    [PHP_SELF] => /thinkphp/index.php    [REQUEST_TIME_FLOAT] => 1450425216.941    [REQUEST_TIME] => 1450425216    [PATH_INFO] => )

0 0
原创粉丝点击