ຫົວຫນັງ PHP header()

ການອະທິບາຍ ແລະ ການນໍາໃຊ້

ຫົວຫນັງ header() ສົ່ງອາກາດ HTTP ສະແກນຕົ້ນຕໍ່ລູກຄ້າ

ຮູ້ວ່າມັນມີຄວາມສໍາຄັນຫລາຍຫນັງວ່າຕ້ອງເອິ້ນຫົວຫນັງ header() ກ່ອນທີ່ຈະອອກອາກາດທີ່ແທ້ຈິງ (ໃນ PHP 4 ແລະຫນັງນັ້ນ,ທ່ານສາມາດໃຊ້ການຮັກສາການອອກອາກາດໄດ້):

<html>
<?php
// ຜົນກະທົບບໍ່ພຽງພໍ
// ມີການອອກອາກາດກ່ອນການເອິ້ນ header()
header('Location: http://www.example.com/');
?>

ວິທະຍາສາດ

header(string,replace,http_response_code)
ປະເພດ ອະທິບາຍ
string ຕ້ອງການ
replace

ຄວາມອະນຸຍາດ

ແມ່ນຫຍັງແມ່ນ true (ການປ່ຽນແປງ) false (ອະນຸຍາດມີຫລາຍສິບຄັນຮູບແບບດຽວກັນ)

http_response_code ຄຳຄວາມທີ່ສາມາດຕັດສິດຄວາມສະໜອງ HTTP response code ຄືກັບທີ່ຕັ້ງຂອງພວກເຂົາ. (PHP 4 ແລະຫຼາຍກວ່າຈະມີ)

ຄຳເຫັນ ແລະ ຄວາມເວົ້າ

ຄວາມເວົ້າ:ຕັ້ງແຕ່ PHP 4.4, ກອງການຈະປ້ອງກັນການສົ່ງ ຫຼາຍ ກອງການ header. ນີ້ເປັນການປ້ອງກັນຕໍ່ກັບ ການບຸກຫົວຂໍ້ header.

ຕົວຢ່າງ

ຕົວຢ່າງ 1

<?php
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");

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

ຄວາມເວົ້າ:ຜູ້ນຳໃຊ້ອາດຕັ້ງຂໍ້ສະເຫນີບາງຢ່າງເພື່ອປ່ຽນການຕັ້ງຂອງບາດຄອນເກຣັກຂອງບູ່ບາດ. ການສົ່ງ header ທີ່ກ່ຽວກັບພວກນີ້ຈະປົກກະຕິການຕັ້ງຂອງບູ່ບາດຄອນເກຣັກຂອງບູ່ບາດ!

ຕົວຢ່າງ 2

ສະເໜີຜູ້ນຳໃຊ້ໃຫ້ບັນທຶກເອກະສານ PDF ທີ່ຖືກສ້າງ (Content-Disposition header ສະໜອງບັນຊີບັນຊີແລະບັງຄັບບູ່ບາດເບິ່ງສະໜອງບັນຊີໃນບາດເບິ່ງບັນຊີ)

<?php
header("Content-type:application/pdf");
// ບັນຊີບັນຊີຈະເປັນ downloaded.pdf
header("Content-Disposition:attachment;filename='downloaded.pdf'");
// PDF ຕໍ່ມາໃນ original.pdf
readfile("original.pdf");
?>
<html>
<body>
...
...

ຄວາມເວົ້າ:Microsoft IE 5.5 ມີ bug ທີ່ປ້ອງກັນພວກນີ້. ການກ້າວຂື້ນຫາ Service Pack 2 ຫຼືຫຼາຍກວ່າຈະແກ້ໄຂ bug.