Beware that RFC2616 (HTTP/1.1) defines header fields as case-insensitive entities. Therefore, array keys of getallheaders() should be converted first to lower- or uppercase and processed such.
getallheaders
(PHP 4, PHP 5)
getallheaders — دریافت تمام سرآیندهای درخواستHTTP
Description
array getallheaders
( void
)
دریافت تمام سرایندهای HTTP در درخواست فعلی.
این تابع یک جایگزین برای apache_request_headers() است. لطفا مستندات apache_request_headers() را برای اطلاعات بیشتر درباره عملکرد این تابع بخوانید.
This function is only supported when PHP is installed as an Apache module.
Return Values
یک آرایه شرکتپذیر از تمام سرآیندهای HTTP در درخواست فعلی یا FALSE در صورت شکست.
Changelog
| Version | Description |
|---|---|
| 4.3.0 | یک جایگزین برای apache_request_headers() شد. لزوما تغییر نام داده شد. این تغییر نام بدلیل استفاده آن در آپاچی بصورت خاص بوده است. |
Examples
Example #1 مثال getallheaders()
<?php
foreach (getallheaders() as $name => $value) {
echo "$name: $value\n";
}
?>
Notes
Note:
As of PHP 4.3.3 you can use this function with the NSAPI server module in Netscape/iPlanet/SunONE webservers, too.
lorro at lorro dot hu ¶
8 years ago
joyview at gmail dot com ¶
4 years ago
it could be useful if you using nginx instead of apache
<?php
if (!function_exists('getallheaders'))
{
function getallheaders()
{
$headers = '';
foreach ($_SERVER as $name => $value)
{
if (substr($name, 0, 5) == 'HTTP_')
{
$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
}
}
return $headers;
}
}
?>
acidfilez at gmail dot com ¶
1 year ago
dont forget to add the content_type and content_lenght if your are uploading file:
<?php
function emu_getallheaders() {
foreach ($_SERVER as $name => $value)
{
if (substr($name, 0, 5) == 'HTTP_')
{
$name = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))));
$headers[$name] = $value;
} else if ($name == "CONTENT_TYPE") {
$headers["Content-Type"] = $value;
} else if ($name == "CONTENT_LENGTH") {
$headers["Content-Length"] = $value;
}
}
return $headers;
}
?>
chears magno c. heck
majksner at gmail dot com ¶
2 years ago
apache_request_headers replicement for nginx
<?php
if (!function_exists('apache_request_headers')) {
function apache_request_headers() {
foreach($_SERVER as $key=>$value) {
if (substr($key,0,5)=="HTTP_") {
$key=str_replace(" ","-",ucwords(strtolower(str_replace("_"," ",substr($key,5)))));
$out[$key]=$value;
}else{
$out[$key]=$value;
}
}
return $out;
}
}
?>
