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版)
Oct 09 PHP
php连接数据库代码应用分析
May 29 PHP
用C/C++扩展你的PHP 为你的php增加功能
Sep 06 PHP
php数组的概述及分类与声明代码演示
Feb 26 PHP
PHP中array_merge和array相加的区别分析
Jun 17 PHP
php 模拟POST提交的2种方法详解
Jun 17 PHP
使用PHP生成二维码的两种方法(带logo图像)
Mar 14 PHP
ThinkPHP之import方法实例详解
Jun 20 PHP
php操作csv文件代码实例汇总
Sep 22 PHP
9个比较实用的php代码片段
Mar 15 PHP
Laravel框架实现文件上传的方法分析
Sep 29 PHP
laravel 解决多库下的DB::transaction()事务失效问题
Oct 21 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模拟HTTP认证
2006/10/09 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
2017/11/06 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
javascript删除option选项的多种方法总结
2013/11/22 Javascript
js数值和和字符串进行转换时可以对不同进制进行操作
2014/03/05 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
2014/03/12 Javascript
jquery form表单获取内容以及绑定数据
2016/02/24 Javascript
举例讲解jQuery中可见性过滤选择器的使用
2016/04/18 Javascript
超链接怎么正确调用javascript函数
2016/05/23 Javascript
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
node.js学习之base64编码解码
2016/10/21 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
Angular实现的自定义模糊查询、排序及三角箭头标注功能示例
2017/12/28 Javascript
JS脚本加载后执行相应回调函数的操作方法
2018/02/28 Javascript
浅谈Vue数据响应思路之数组
2018/11/06 Javascript
JavaScript函数的4种调用方法实例分析
2019/03/05 Javascript
详解小程序中h5页面onShow实现及跨页面通信方案
2019/05/30 Javascript
8 个有用的JS技巧(推荐)
2019/07/03 Javascript
详解Python Socket网络编程
2016/01/05 Python
Python爬虫:通过关键字爬取百度图片
2017/02/17 Python
用Python设计一个经典小游戏
2017/05/15 Python
Python获取SQLite查询结果表列名的方法
2017/06/21 Python
python通过zabbix api获取主机
2018/09/17 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
使用Python的turtle模块画国旗
2019/09/24 Python
django 数据库返回queryset实现封装为字典
2020/05/19 Python
英国最受欢迎的手表网站:Watch Shop
2016/10/21 全球购物
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
英国Iceland杂货店:网上食品购物
2020/12/16 全球购物
运动会广播稿20字
2014/02/18 职场文书
行政部岗位职责范本
2014/03/13 职场文书
科学发展观标语
2014/10/08 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
2015最新民情日记范文
2015/06/26 职场文书
MySQL表字段时间设置默认值
2021/05/13 MySQL