Eureka
1
function getRequestHeader($name = '')
{
$header = [];
if (function_exists('apache_request_headers') && $result = apache_request_headers()) {
$header = $result;
} else {
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'];
}
}
$resp = array_change_key_case($header);
if (is_array($name)) {
return $resp = array_merge($resp, $name);
}
if ('' === $name) {
return $resp;
}
$name = str_replace('_', '-', strtolower($name));
return isset($resp[$name]) ? $resp[$name] : null;
}