PHP header() fonksiyonu

tanım ve kullanım

header() fonksiyonu, istemciye temel HTTP başlıklarını gönderir.

Bunun önemini anlamak önemlidir, yani header() fonksiyonunu herhangi bir gerçek çıktı gönderilmeden önce çağırmak zorundasınız (PHP 4 ve daha yüksek sürümlerinde, bu sorunu çözmek için çıktı önbellekleme kullanabilirsiniz):

<html>
<?php
// sonuç hata
// header() çağrısından önce çıktı var
header('Location: http://www.example.com/');
?>

gramer

header(string,replace,http_response_code)
parametre tanım
string zorunlu. Gönderilecek başlık dizgisini belirtir.
replace

opsiyonel. Bu başlıkın önceki başlığı değiştirip değiştirmediğini veya ikinci bir başlık eklenip eklenmediğini belirtir.

varsayılan olarak true'dur (değiştirme). false (aynı türdeki çok sayıda başlık izin verir).

http_response_code İsteğe bağlı. HTTP yanıt kodunu belirtilen değere zorlayın. (PHP 4 ve daha yüksek sürümler için kullanılabilir)}

İpuçları ve Açıklamalar

Açıklama:PHP 4.4'ten sonra, bu fonksiyon birden fazla başlığı bir seferde göndermeyi önler. Bu, başlık enjeksiyon saldırısına karşı bir koruma tedbididir.

Örnek

Örnek 1

<?php
// Geçmişteki tarih
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");

?>
<html>
<body>
...
...

Açıklama:Kullanıcılar, tarayıcının varsayılan önbellekleme ayarlarını değiştirmek için bazı seçenekler ayarlayabilir. Yukarıdaki başlığı göndererek, bu ayarların üzerinde geçersiz kılabilir ve tarayıcıyı önbellekleme yapmaktan men edebilirsiniz!

Örnek 2

Kullanıcıya oluşturulan PDF dosyasını kaydetmesini önerin (Content-Disposition başlığı, bir önerilen dosya adı sağlar ve tarayıcıyı kaydetme penceresini gösterir):

<?php
header("Content-type:application/pdf");
// Dosya downloaded.pdf olarak adlandırılacaktır
header("Content-Disposition:attachment;filename='downloaded.pdf'");
// PDF kaynağı original.pdf içinde
readfile("original.pdf");
?>
<html>
<body>
...
...

Açıklama:Microsoft IE 5.5, bu mekanizmayı engelleyen bir hata içerir. Bu hatayı Service Pack 2 veya daha yüksek sürüme yükselterek çözebilirsiniz.