您的位置:首页 > 其它

URL与参数的相关知识点

2015-12-18 15:22 302 查看
开始接触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] =>
)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: