Request类的header方法增加自定义header支持

This commit is contained in:
thinkphp
2016-10-12 18:06:49 +08:00
parent 2222cbfd53
commit aa0028cef6

View File

@@ -910,18 +910,22 @@ class Request
{ {
if (empty($this->header)) { if (empty($this->header)) {
$header = []; $header = [];
$server = $this->server ?: $_SERVER; if (function_exists('apache_request_headers') && $result = apache_request_headers()) {
foreach ($server as $key => $val) { $header = $result;
if (0 === strpos($key, 'HTTP_')) { } else {
$key = str_replace('_', '-', strtolower(substr($key, 5))); $server = $this->server ?: $_SERVER;
$header[$key] = $val; foreach ($server as $key => $val) {
if (0 === strpos($key, 'HTTP_')) {
$key = str_replace('_', '-', strtolower(substr($key, 5)));
$header[$key] = $val;
}
}
if (isset($server['CONTENT_TYPE'])) {
$header['content-type'] = $server['CONTENT_TYPE'];
}
if (isset($server['CONTENT_LENGTH'])) {
$header['content-length'] = $server['CONTENT_LENGTH'];
} }
}
if (isset($server['CONTENT_TYPE'])) {
$header['content-type'] = $server['CONTENT_TYPE'];
}
if (isset($server['CONTENT_LENGTH'])) {
$header['content-length'] = $server['CONTENT_LENGTH'];
} }
$this->header = array_change_key_case($header); $this->header = array_change_key_case($header);
} }