http协议相关-待续
// 关于http的东西
function httpAction()
{
// http://localhost/blog/testurl.php?id=5 到目前为止
// 获取当前域名
// 获取网页地址
// 获取网址参数
$_SERVER['HTTP_HOST']; // 获得域名 localhost
$_SERVER['HTTP_SELF']; // 获得网站文件路径 /blog/testurl.php
$_SERVER['HTTP_STRING']; // 获得地址栏中的参数 id=5 // 获取完整URL
$url = 'http://'.$_SERVER['SERVER_HOST'].$_SERVER["REQUEST_URI"];
// 获取不包含文件名的URL路径
dirname($url); // http://localhost/blog $_SERVER['SERVER_ADDR']; // 获取服务器的IP地址
$_SERVER['REMOTE_ADDR']; // 获取浏览当前用户的IP地址
$_SERVER['SCRIPT_FILENAME']; // 当前脚本的绝对路径
}
/*
简述如何得到当前执行脚本路径,包括所得到参数
$_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI']
;取得当前页面的完整路径和参数。
取得参数:$_SERVER['QUERY_STRING'];
如何用 php 的环境变量得到一个网页地址的内容?ip 地
址又要怎样得到?
echo $_SERVER ["PHP_SELF"];
echo $_SERVER ["SERVER_ADDR"];
凌乱的笔记代码
*/
这里找到pathinfo的函数,也很好用 ,配合mb_substr(),可以很好的完成路径 的切割,以后对文件等路径信息处理的时候,包括扩展名获取等,应该优先使用parthinfo函数
pathinfo分别与parse_url (字符串),pathinfo与$_SEVER (获取当前请求) 结合使用,可以很好的处理url字符串或者请求请求截取问题
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php?id=5'); echo $path_parts['dirname'], "<br>"; // /www/htdocs/inc
echo $path_parts['basename'], "<br>"; // lib.inc.php?id=5
echo $path_parts['extension'], "<br>"; // php?id=5
echo $path_parts['filename'], "<br>"; // lib.inc
切割URL地址的利器--parse_url() ,结合pathinfo,可以马上得到扩展名
$url = 'http://www.sina.com.cn/abc/de/fg.php?id=1';
$arr = parse_url($url); // { ["scheme"]=> string(4) "http" ["host"]=> string(15) "www.sina.com.cn" ["path"]=> string(14) "/abc/de/fg.php" ["query"]=> string(4) "id=1" }
echo pathinfo($arr['path'])['extension']; // php
http协议相关-待续的更多相关文章
- 老李分享:SSL协议相关证书
老李分享:SSL协议相关证书 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9088214 ...
- Python——电子邮件、Internet协议相关模块
一.电子邮件相关模块 email:用于处理电子邮件 smtpd:SMTP服务器 base64:Base-16.32.64数据编码 mhlib:处理MH文件格式解析的类 mailcap:mailcap文 ...
- Windows网络编程笔记4 -- Winsock 协议相关知识
Win32平台上的Winsock编程,Winsock是一个与协议无关的接口.以下协议是我们需要了解的: 网络协议的特征包括: 1. 面向消息 2. 面向连接和无线接 3. 可靠性和次序性 4. ...
- http 协议相关问题
http 协议相关问题 来源 https://www.cnblogs.com/lingyejun/p/7148756.html 1.说一下什么是Http协议? 对器客户端和 服务器端之间数据传输的格式 ...
- TCP-IP-part7-IP协议相关技术(一)
仅凭IP是无法完成通信的,需要一些IP的辅助技术.这些技术的包格式可能不一样,但它们都是基于IP地址进行的,都是通过匹配路由表来进行的,只是功能不一样.例如DHCP分配IP地址,它只管通知这条信息,具 ...
- USB协议[转]_基本上涵盖了所有最基础的USB协议相关知识。
背景: 需要使用到USB协议,我一直尝试着去强记这个流程,现在看来,其实不用.看多了,把这个过程具象出来,就牢牢记住了. 正文: 正文转自:http://fangjian0518.blog.163.c ...
- http协议相关
HTTP请求方法 HTTP消息头 HTTP请求头 HTTP响应头 HTTP cookie机制和实现原理 HTTP请求方法 超文本传输协议(HTTP, HyperText Transfer Protoc ...
- ARP协议相关介绍
什么是ARP协议? ARP,即地址解析协议,实现通过IP地址得知其物理地址.在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址.为了让报文 ...
- MODBUS协议相关代码(CRC验证 客户端程序)
Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议.通过此协议,控制器相互之间.或控制器经由网络(如以太网)可以和其它设备之间进行通信.Modbus协议使用的是主从通讯技术,即由主设备主 ...
随机推荐
- ListIterator接口,双向输出。
1,ListIterator接口与Itreator接口的区别. 2,使用限制. 定义如下: public interface ListIterator<E>extends Iterator ...
- 关于SSH的一些tricks
改善SSH登录速度 登录慢的原因有很多, 慢的症状也很多, 有些是出login慢, 有些是出password慢, 有些是输入完password后进提示符慢, 根据 http://superuser.c ...
- sublime text nodejs set
把新建的system清空,输入{ "cmd": ["node", "$file"], "selector": " ...
- LeetCode:Word Ladder I II
其他LeetCode题目欢迎访问:LeetCode结题报告索引 LeetCode:Word Ladder Given two words (start and end), and a dictiona ...
- 冒泡排序 & 选择排序 & 插入排序 & 希尔排序 JavaScript 实现
之前用 JavaScript 写过 快速排序 和 归并排序,本文聊聊四个基础排序算法.(本文默认排序结果都是从小到大) 冒泡排序 冒泡排序每次循环结束会将最大的元素 "冒泡" 到最 ...
- 【MVVM】模型认识理解,
MVVM:模型-视图-视图模型(Model-View-ViewModel) 注意:它是双向绑定的 源:http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mv ...
- 【JavaScript】冒泡排序,字符串排序,数字排序
原理:是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换, function bubbleClick() { var str = "50,1,4,6,9,76,43,22,2, ...
- 87 resize2fs-增大或者收缩未加载的“ext2/ext3”文件系统的大小
resize2fs命令被用来增大或者收缩未加载的"ext2/ext3"文件系统的大小.如果文件系统是处于mount状态下,那么它只能做到扩容,前提条件是内核支持在线resize., ...
- Lua和C++交互详细总结
转自:http://cn.cocos2d-x.org/tutorial/show?id=1474 一.Lua堆栈 要理解Lua和C++交互,首先要理解Lua堆栈. 简单来说,Lua和C/C++语言通信 ...
- 【BZOJ-2668】交换棋子 最小费用最大流
2668: [cqoi2012]交换棋子 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 1055 Solved: 388[Submit][Status ...