好问题
Good  Question
  • 首 页
  • 问题
    • PHP
    • JAVA
    • CPlusPlus
    • C#
    • SQL
  • 关 于
  • 联 系
我如何在PHP中随意读取请求头部(reqeust hreader)中的数据 关闭 返回上一级  

我如何在PHP中随意读取请求头部(reqeust hreader)中的数据
+ 查看更多

发布日期:2018-03-26 16:14
分类:PHP
浏览次数:344
我应该怎么在PHP中读取任何请求头?例如自定义请求头:X-Requested-With.

最佳答案

如果:你只需要一个请求头,而不是所有的请求头,最快的方法是:
<?php
// Replace XXXXXX_XXXX with the name of the header you need in UPPERCASE 用你需要的请求头的名字的大写来替换XXXXXX_XXXX
$headerStringValue = $_SERVER['HTTP_XXXXXX_XXXX'];
或者:你将PHP作为Apache的模块来运行或者从PHP 5.4开始,那么你可以使用FastCGI(简单的方法):
apache_request_headers()[[http://www.php.net/apache_request_headers]]
<?php
$headers = apache_request_headers();

foreach ($headers as $header => $value) {
    echo "$header: $value 
\n";
}
或者:在任何其他情况下,您可以使用(用户级实现):
<?php
function getRequestHeaders() {
    $headers = array();
    foreach($_SERVER as $key => $value) {
        if (substr($key, 0, 5) <> 'HTTP_') {
            continue;
        }
        $header = str_replace(' ', '-', ucwords(str_replace('_', ' ', strtolower(substr($key, 5)))));
        $headers[$header] = $value;
    }
    return $headers;
}

$headers = getRequestHeaders();

foreach ($headers as $header => $value) {
    echo "$header: $value 
\n";
}
你也可以看看:
getallheaders()[[http://php.net/manual/en/function.getallheaders.php]] - (PHP> = 5.4)-跨平台版本-apache_request_headers的别名。
apache_response_headers()[[http://www.php.net/manual/en/function.apache-response-headers.php]] - 获取所有HTTP响应头。
headers_list()[[http://www.php.net/manual/en/function.headers-list.php]] - 获取要发送的头列表。
上一篇在PHP中“include”和“require”的区别
在PHP中使用foreach循环时查找数组的最后一个元素下一篇
下一篇在PHP中使用foreach循环时查找数组的最后一个元素

最新文章

  • 函数`__construct`用来干嘛的
    发布日期:2018-03-26
  • 通过访客的IP得到他们的地区
    发布日期:2018-03-26
  • 合并两个PHP对象的最好的方法是什么?
    发布日期:2018-03-26
  • 该如何把一该如何把一个对象转化成数组?
    发布日期:2018-03-26
  • 什么是输出缓冲区?
    发布日期:2018-03-26
  • 在PHP中怎么把用逗号分隔的字符串分隔在一个数组里?
    发布日期:2018-03-26
  • 在PHP中使用foreach循环时查找数组的最后一个元素
    发布日期:2018-03-26
关于好问
收集整理一些有用的问题和回答,造福中国的程序旺和IT喵们!
友情链接
起飞页 
相关信息
版权声明
Copyright © 2016 - 2022  苏州卡达网络科技有限公司 备案号:苏ICP备09008221号