PHP获取http请求的头信息实现步骤


Posted in PHP onDecember 16, 2012

PHP手册提供了现成的函数:
getallheaders
(PHP 4, PHP 5)
getallheaders — Fetch all HTTP request headers
说明
array getallheaders ( void )
Fetches all HTTP headers from the current request.
This function is an alias for apache_request_headers(). Please read theapache_request_headers() documentation for more information on how this function works.
返回值
An associative array of all the HTTP headers in the current request, orFALSE on failure.
Example #1 getallheaders() example

<?php 
foreach (getallheaders() as $name => $value) { 
echo "$name: $value\n"; 
} 
?>

不过这个函数只能在apache环境下使用,iis或者nginx并不支持,可以通过自定义函数实现
<?php 
<SPAN class=html>if (!function_exists('getallheaders')) 
{ 
    function getallheaders() 
    { 
       foreach ($_SERVER as $name => $value) 
       { 
           if (substr($name, 0, 5) == 'HTTP_') 
           { 
               $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value; 
           } 
       } 
       return $headers; 
    } 
}</SPAN> 
?>

好了,看看都打印出了啥吧
<?php 
print_r(getallheaders());

获得结果:
Array 
( 
[Accept] => */* 
[Accept-Language] => zh-cn 
[Accept-Encoding] => gzip, deflate 
[User-Agent] => Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727) 
[Host] => localhost 
[Connection] => Keep-Alive 
)
PHP 相关文章推荐
《PHP边学边教》(04.编写简易的通讯录――视频教程1)
Dec 13 PHP
深入PHP nl2br()格式化输出的详解
Jun 05 PHP
php使用curl获取https请求的方法
Feb 11 PHP
php模拟post提交数据的方法
Feb 12 PHP
8个PHP数组面试题
Jun 23 PHP
PHP.vs.JAVA
Apr 29 PHP
thinkphp3.x中display方法及show方法的用法实例
May 19 PHP
PHP中模糊查询并关联三个select框
Jun 19 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
PHP多进程通信-消息队列使用
Mar 08 PHP
laravel Validator ajax返回错误信息的方法
Sep 29 PHP
tp5使用layui实现多个图片上传(带附件选择)的方法实例
Nov 17 PHP
php获取通过http协议post提交过来xml数据及解析xml
Dec 16 #PHP
mysql 查询指定日期时间内sql语句实现原理与代码
Dec 16 #PHP
非常精妙的PHP递归调用与静态变量使用
Dec 16 #PHP
PHP--用万网的接口实现域名查询功能
Dec 13 #PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
Dec 11 #PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
Dec 10 #PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
Dec 07 #PHP
You might like
PHP下操作Linux消息队列完成进程间通信的方法
2010/07/24 PHP
深入PHP5中的魔术方法详解
2013/06/17 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
php遍历目录方法小结
2015/03/10 PHP
php操作memcache缓存方法分享
2015/06/03 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
2016/03/31 PHP
js实现弹出窗口、页面变成灰色并不可操作的例子分享
2014/05/10 Javascript
AngularJS基础 ng-csp 指令详解
2016/08/01 Javascript
Three.js学习之网格
2016/08/10 Javascript
基于angularJS的表单验证指令介绍
2016/10/21 Javascript
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
angularjs利用directive实现移动端自定义软键盘的示例
2017/09/20 Javascript
微信小程序实现MUI数字输入框效果
2018/01/31 Javascript
Vue实现带进度条的文件拖动上传功能
2018/02/23 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
Angular中sweetalert弹框的基本使用教程
2018/07/22 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
vue增加强缓存和版本号的实现方法
2019/05/01 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
Element中Slider滑块的具体使用
2020/07/29 Javascript
jQuery实现简单评论功能
2020/08/19 jQuery
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
python解析文件示例
2014/01/23 Python
python使用7z解压软件备份文件脚本分享
2014/02/21 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
python 利用栈和队列模拟递归的过程
2018/05/29 Python
python 采用paramiko 远程执行命令及报错解决
2019/10/21 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
2020/06/30 Python
Python文件夹批处理操作代码实例
2020/07/21 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
信息技术专业大学生个人的自我评价
2013/10/05 职场文书
vue实现锚点定位功能
2021/06/29 Vue.js
OpenStack虚拟机快照和增量备份实现方法
2022/04/04 Servers
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技