1<?php 2 3if (!function_exists('getallheaders')) { 4 5 /** 6 * Get all HTTP header key/values as an associative array for the current request. 7 * 8 * @return string[string] The HTTP header key/value pairs. 9 */ 10 function getallheaders() 11 { 12 $headers = array(); 13 14 $copy_server = array( 15 'CONTENT_TYPE' => 'Content-Type', 16 'CONTENT_LENGTH' => 'Content-Length', 17 'CONTENT_MD5' => 'Content-Md5', 18 ); 19 20 foreach ($_SERVER as $key => $value) { 21 if (substr($key, 0, 5) === 'HTTP_') { 22 $key = substr($key, 5); 23 if (!isset($copy_server[$key]) || !isset($_SERVER[$key])) { 24 $key = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', $key)))); 25 $headers[$key] = $value; 26 } 27 } elseif (isset($copy_server[$key])) { 28 $headers[$copy_server[$key]] = $value; 29 } 30 } 31 32 if (!isset($headers['Authorization'])) { 33 if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) { 34 $headers['Authorization'] = $_SERVER['REDIRECT_HTTP_AUTHORIZATION']; 35 } elseif (isset($_SERVER['PHP_AUTH_USER'])) { 36 $basic_pass = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : ''; 37 $headers['Authorization'] = 'Basic ' . base64_encode($_SERVER['PHP_AUTH_USER'] . ':' . $basic_pass); 38 } elseif (isset($_SERVER['PHP_AUTH_DIGEST'])) { 39 $headers['Authorization'] = $_SERVER['PHP_AUTH_DIGEST']; 40 } 41 } 42 43 return $headers; 44 } 45 46} 47