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 Xdebug 调试扩展的安装与使用.
Mar 13 PHP
为IP查询添加GOOGLE地图功能的代码
Aug 08 PHP
php fsockopen中多线程问题的解决办法[翻译]
Nov 09 PHP
php调用c接口无错版介绍
Mar 11 PHP
Linux下创建nginx脚本-start、stop、reload…
Aug 03 PHP
PHP使用memcache缓存技术提高响应速度的方法
Dec 26 PHP
php数组键值用法实例分析
Feb 27 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
Nov 05 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
Dec 08 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
Jan 07 PHP
thinkPHP显示不出验证码的原因与解决方法分析
May 20 PHP
PHP实现的AES 128位加密算法示例
Sep 16 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扩展php_curl.dll不加载的解决方法
2013/06/26 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
在 Laravel 中动态隐藏 API 字段的方法
2019/10/25 PHP
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
JS左右无缝滚动(一般方法+面向对象方法)
2012/08/17 Javascript
javascript实用小函数使用介绍
2013/11/11 Javascript
javascript创建和存储cookie示例
2014/01/07 Javascript
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
2014/08/16 Javascript
JavaScript实现动态删除列表框值的方法
2015/08/12 Javascript
JS获取元素多层嵌套思路详解
2016/05/16 Javascript
Node.js刷新session过期时间的实现方法推荐
2016/05/18 Javascript
Javascript之String对象详解
2016/06/08 Javascript
Angularjs实现控制器之间通信方式实例总结
2018/03/27 Javascript
r.js来合并压缩css文件的示例
2018/04/26 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
2018/06/06 Javascript
vue element-ui之怎么封装一个自己的组件的详解
2019/05/20 Javascript
js生成1到100的随机数最简单的实现方法
2020/02/07 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
浅谈Python实现2种文件复制的方法
2018/01/19 Python
对Python random模块打乱数组顺序的实例讲解
2018/11/08 Python
python判断计算机是否有网络连接的实例
2018/12/15 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
Django REST framework 视图和路由详解
2019/07/19 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
2019/12/12 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
css3 clip实现圆环进度条的示例代码
2018/02/07 HTML / CSS
PHP开发工程师面试问题集锦
2012/11/01 面试题
学校消防安全责任书
2014/07/23 职场文书
青年标兵事迹材料
2014/08/16 职场文书
大学生实习证明范本
2014/09/19 职场文书
工作检讨书怎么写
2015/01/23 职场文书
学校社团活动总结
2015/05/07 职场文书
学习弘扬焦裕禄精神心得体会
2016/01/23 职场文书