发布日期:2018-03-26
我如何在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]] - 获取要发送的头列表。
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]] - 获取要发送的头列表。