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
getallheaders
(PHP 4, PHP 5)
getallheaders — Tüm HTTP istek başlıklarını getirir
Açıklama
array getallheaders
( void
)
Mevcut isteğe ait HTTP başlıklarının tümünü bir dizi olarak döndürür.
Bu işlev apache_request_headers() işlevine bir takma addır. Bu işleven nasıl çalıştığı hakkında ayrıntılı bilgi edinmek için apache_request_headers() işlevinin açıklamasına bakınız.
Bu işlev sadece PHP bir Apache modülü olarak kuruluysa desteklenir.
Dönen Değerler
Herşey yolunda gitmişse mevcut isteğe ait tüm HTTP başlıklarını içeren bir
ilişkili dizi döndürür, aksi takdirde FALSE döndürür.
Sürüm Bilgisi
| Sürüm: | Açıklama |
|---|---|
| 4.3.0 | apache_request_headers() işlevine bir takma ad haline geldi. Aslında sadece adı değiştirildi. Bunu nedeni işlevin sadece Apache altında çalışmasıdır. |
Örnekler
Örnek 1 - getallheaders() örneği
<?php
foreach (getallheaders() as $başlık => $değer) {
echo "$başlık: $değer\n";
}
?>
Notlar
PHP 4.3.3'ten itibaren bu işlevi, NSAPI sunucu modülü ile Netscape/iPlanet/SunONE sunucularında da kullanabilirsiniz.
acidfilez at gmail dot com
07-Jun-2011 09:16
majksner at gmail dot com
08-Sep-2010 10:24
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;
}
}
?>
joyview at gmail dot com
06-Jul-2008 08:52
it could be useful if you using nginx instead of apache
if (!function_exists('getallheaders'))
{
function getallheaders()
{
foreach ($_SERVER as $name => $value)
{
if (substr($name, 0, 5) == 'HTTP_')
{
$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
}
}
return $headers;
}
}
lorro at lorro dot hu
19-Apr-2005 06:25
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.
