fungsi header() PHP

definisi dan penggunaan

fungsi header() mengirim header HTTP asli ke klien.

dapat dianggap penting, bahwa harus memanggil fungsi header() sebelum mengirim output yang sebenarnya (dalam PHP 4 dan versi yang lebih tinggi, Anda dapat menggunakan output cache untuk memperbaiki masalah ini):

<html>
<?php
// kesalahan dihasilkan
// ada output yang sudah ada sebelum memanggil header()
header('Location: http://www.example.com/');
?>

syarat

header(string,replace,http_response_code)
parameter deskripsi
string wajib. menentukan string header yang akan dikirim.
replace

opsional. menunjukkan apakah header ini mengganti header sebelumnya, atau menambahkan header kedua.

defaultnya adalah true (ganti). false (ijin beberapa header yang bertipe yang sama).

http_response_code Pilihan. Buat kode respons HTTP wajib untuk nilai yang ditentukan. (Tersedia di PHP 4 dan versi yang lebih tinggi)

Petunjuk dan Komentar

Komentar:Dari PHP 4.4 seterusnya, fungsi ini menghalangi pengiriman beberapa header sekali. Ini adalah tindakan perlindungan dari serangan injeksi header.

Contoh

Contoh 1

<?php
// Tanggal di masa lalu
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");

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

Komentar:Pengguna mungkin mengatur beberapa opsi untuk mengubah pengaturan cache bawaan browser. Dengan mengirimkan header di atas, Anda dapat menimpa setiap pengaturan ini, memaksa browser untuk tidak melakukan caching!

Contoh 2

Minta pengguna menyimpan berkas PDF yang dihasilkan (Header Content-Disposition digunakan untuk menyediakan nama berkas yang direkomendasikan, dan memaksa browser untuk menampilkan dialog simpan):

<?php
header("Content-type:application/pdf");
// Berkas akan disebut downloaded.pdf
header("Content-Disposition:attachment;filename='downloaded.pdf'");
// Sumber PDF berada di original.pdf
readfile("original.pdf");
?>
<html>
<body>
...
...

Komentar:Internet Explorer Microsoft IE 5.5 ada bug yang menghalangi mekanisme di atas. Dengan mengupgradesebagai Service Pack 2 atau versi yang lebih tinggi, bug ini dapat dipecahkan.