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

yipeiwu_com7年前PHP代码库
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
)

相关文章

thinkphp实现把数据库中的列的值存到下拉框中的方法

1. 先去数据库中查值,查询整个数据表,结果为二维数组。 $project = M("project"); $cell = $project->where(array('s...

PHP中变量引用与变量销毁机制分析

本文实例分析了PHP中变量引用与变量销毁机制。分享给大家供大家参考。具体分析如下: 变量是php中一个非常重要的类型了,我们的有数据都通过变量或常量来进行操作,下文来看看变量引用与变量销...

php的一个简单加密解密代码

复制代码 代码如下:class SysCrypt{ private $crypt_key='//www.jb51.net';//密钥 public function...

必须收藏的23个php实用代码片段

在编写代码的时候有个神奇的工具总是好的!下面这里收集了 40+ PHP 代码片段,可以帮助你开发 PHP 项目。 这些 PHP 片段对于 PHP 初学者也非常有帮助,非常容易学习,让我...

ThinkPHP5 验证器的具体使用

ThinkPHP5 验证器的具体使用

前言: 我们在做API开发的时候,我们会接受客户端传来的参数,大家都知道这个参数是不可信的,我们后端开发人员必须对这个参数进行验证。我在之前的开发中只是知道tp5的验证器,并不知道他的用...