zoukankan      html  css  js  c++  java
  • PHP获取http请求的头信息实现步骤

    PHP如何获取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
    foreach (getallheaders() as $name => $value) {
    echo "$name: $value ";
    }
    ?>


    不过这个函数只能在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
    )

  • 相关阅读:
    深入理解 RPC
    Redis 深度历险
    tomcat性能优化
    高性能IO之Reactor模式
    常用sql语句整理[SQL Server]
    SQLite遇到的关于x64、x86问题
    C#和Javascript的try…catch…finally的一点差别
    C#写Windows服务
    Windows_7_休眠按钮没有了_如何找回?
    XmlReader读取XML
  • 原文地址:https://www.cnblogs.com/lemon66/p/4093870.html
Copyright © 2011-2022 走看看