开发者社区> suboysugar> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

PHP获取http头信息和CI中获取HTTP头信息的方法

简介: CI中获取HTTP头信息的方法: $this->input->request_headers() 在不支持apache_request_headers()的非Apache环境非常有用。返回请求头(header)数组。
+关注继续查看

CI中获取HTTP头信息的方法:

$this->input->request_headers()

在不支持apache_request_headers()的非Apache环境非常有用。返回请求头(header)数组。

$headers = $this->input->request_headers();

 

----------------------------------------------------------------------------------------------

获取http请求的头信息。

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] view plaincopy
 
  1. <?php  
  2.   
  3. foreach (getallheaders() as $name => $value) {  
  4.     echo "$name: $value\n";  
  5. }  
  6.   
  7. ?>   

不过这个函数只能在apache环境下使用,iis或者nginx并不支持,可以通过自定义函数实现

 

 

[php] view plaincopy
 
  1. <?php   
  2. <span class="html">if (!function_exists('getallheaders'))   
  3. {  
  4.     function getallheaders()   
  5.     {  
  6.        foreach ($_SERVER as $name => $value)   
  7.        {  
  8.            if (substr($name, 0, 5) == 'HTTP_')   
  9.            {  
  10.                $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;  
  11.            }  
  12.        }  
  13.        return $headers;  
  14.     }  
  15. }</span>   
  16. ?>   


好了,看看都打印出了啥吧

 

 

[php] view plaincopy
 
  1. <?php  
  2. print_r(getallheaders());  


获得结果:

[html] view plaincopy
 
    1. Array  
    2. (  
    3.     [Accept] => */*  
    4.     [Accept-Language] => zh-cn  
    5.     [Accept-Encoding] => gzip, deflate  
    6.     [User-Agent] => Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727)  
    7.     [Host] => localhost  
    8.     [Connection] => Keep-Alive  
    9. )  
如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器上配置并使用: PHP + Redis + Mysql 从配置到使用
(原创出处为本博客,http://www.cnblogs.com/linguanh/)   目录:   一,下载   二,解压   三,配置与启动   四,测试 Redis   五,配置 phpRedis 扩展   六,综合测试   前序    Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。
1311 0
【第二届PHP全球开发者大会】MySQL中文网站创始人叶金荣:程序猿都该知道的MySQL秘籍
5月14-15日的第二届2016PHP全球开发者大会在北京国际会议中心举行。MySQL中文网站创始人、Oracle MySQL ACE叶金荣带来的分享是《程序猿都该知道的MySQL秘籍》,他主要介绍了MySQL的优化秘籍,并对InnoDB引擎做了深入的讲解;同时与大家分享了在MySQL的优化过程中所
3628 0
MySql - InnoDB - 事务 , Php版
(出处:http://www.cnblogs.com/linguanh/)   1,前序   由于要重构APP(社交类) 服务端接口的部分代码,故接触到了 innoDB,以及事务这个词,下面主要是以例子的形式显示它的用法,理论的东西不过多讲述。
1019 0
centos下 Apache、php、mysql默认安装路径
apache: 如果采用RPM包安装,安装路径应在 /etc/httpd目录下 apache配置文件:/etc/httpd/conf/httpd.conf Apache模块路径:/usr/sbin/apachectl web目录:/var/www/html 如果采用源代码安装,一般默认安装在/usr/local/apache2目录下 php: 如果采用RPM包安装,安装路
3114 0
+关注
suboysugar
目前为自由职业者,从事BA业务分析和互联网产品设计等工作,本人先后在中关村在线、中国工商银行和神州数码工作。拥有互联网,移动互联网,软件公司等开发经历。计算机本科毕业,8年互联网和软件行业经验。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
复杂PHP系统性能瓶颈排查及优化
立即下载
yqdh_58c127bb3e4...1510402406.pdf
立即下载
PHP安全开发_从白帽角度做安全
立即下载