URL与参数的相关知识点
2015-12-18 15:22
302 查看
开始接触PHP以来,对$_SERVER这个函数了解不多,现在通过这个实例,加深一下了解。
首先,想要获取URL上面的参数除了$_GET之外还有很多方法可以获得,今天统一都试一试。
1、$_SERVER['QUERY_STRING']:这个函数直接可以给出参数,经测试没有什么问题;
2、函数的形式:
3、parse_url($this->curPageURL());:配合上边的函数,以数组形式输出。
4、basename($this->curPageURL());:配合上边的函数,直接输出部分URL。
附:$_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] => )
相关文章推荐
- WebAPP设计和入门开发需要注意的5个事项
- 求一个序列的全部排列
- WSADATA
- SQL Server 游标的简单使用
- dedecms模版页使用sql
- 手机自动化测试:appium源码分析之bootstrap六 (上)
- 底层
- dede:arclist 不能调用文章的副栏目或多个副栏目的解决方法
- 使用Jsoup实现简单的页面信息爬取
- iOS上模拟网络环境
- Catalan Number 卡特兰数
- 4G模块如何上网二(如何修改cdc-ncm.c)
- JQuery移除事件
- android apk 防止反编译技术第一篇-加壳技术
- redis分页简单实现
- Ios的nil,Null,NSNull的使用
- Chrome disable adobe flash player
- ASSERT断言
- 手机自动化测试:appium源码分析之bootstrap五 下
- PHP、MySql乱码解决方案