ล่าสุดการพัฒนาเว็บบทเรียน
×

PHP เกี่ยวกับการสอน

PHP บ้าน PHP แนะนำ PHP ติดตั้ง PHP วากยสัมพันธ์ PHP ตัวแปร PHP Echo / พิมพ์ PHP ชนิดข้อมูล PHP เงื่อนไข PHP ค่าคงที่ PHP ผู้ประกอบการ PHP If...Else...Elseif PHP Switch PHP ในขณะที่ลูป PHP สำหรับลูป PHP ฟังก์ชั่น PHP แถว PHP เรียงลำดับอาร์เรย์ PHP Superglobals

PHP การจัดการ

PHP ฟอร์ม การจัดการ PHP ฟอร์ม การตรวจสอบ PHP ฟอร์ม จำเป็นต้องใช้ PHP ฟอร์ม URL/E-mail PHP ฟอร์ม สมบูรณ์

PHP สูง

PHP อาร์เรย์หลายมิติ PHP วันและเวลา PHP ประกอบด้วย PHP ไฟล์ การจัดการ PHP ไฟล์ เปิด / อ่าน PHP ไฟล์ สร้าง / เขียน PHP ไฟล์ อัปโหลด PHP Cookies PHP Sessions PHP ฟิลเตอร์ PHP Filters สูง PHP ผิดพลาด การจัดการ PHP ข้อยกเว้น

MySQL Database

MySQL ฐานข้อมูล MySQL สัมพันธ์ MySQL Create DB MySQL Create ตาราง MySQL Insert Data MySQL รับ ID เข้าครั้งสุดท้าย MySQL ใส่หลาย MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML parsers PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX แนะนำ AJAX PHP AJAX ฐานข้อมูล AJAX XML AJAX ค้นหาสด AJAX RSS Reader AJAX โพลล์

PHP Examples

PHP ตัวอย่าง PHP ทดสอบ PHP ใบรับรอง

PHP การอ้างอิง

PHP แถว PHP ปฏิทิน PHP วันที่ PHP ไดเรกทอรี PHP ผิดพลาด PHP ระบบแฟ้ม PHP กรอง PHP FTP PHP HTTP PHP Libxml PHP จดหมาย PHP คณิตศาสตร์ PHP อื่น ๆ PHP MySQLi PHP SimpleXML PHP เชือก PHP XML PHP Zip PHP ช่วงเวลา

 

PHP header() Function


<อ้างอิง PHP HTTP สมบูรณ์

ความหมายและการใช้งาน

header() ฟังก์ชั่นส่งหัว HTTP ดิบไปยังลูกค้า

มันเป็นสิ่งสำคัญที่จะสังเกตเห็นว่า header() ต้องเรียกว่าก่อนที่จะส่งออกที่เกิดขึ้นจริงใด ๆ จะถูกส่ง (ใน PHP 4 และต่อมาคุณสามารถใช้บัฟเฟอร์การส่งออกที่จะแก้ปัญหานี้):

<html>
<?php
// This results in an error.
// The output above is before the header() call
header('Location: http://www.example.com/');
?>

วากยสัมพันธ์

header(string,replace,http_response_code)

พารามิเตอร์ ลักษณะ
string จำเป็นต้องใช้ ระบุสตริงส่วนหัวที่จะส่ง
replace ไม่จำเป็น. ที่บ่งบอกว่าส่วนหัวควรเปลี่ยนก่อนหน้านี้หรือเพิ่มส่วนหัวที่สอง เริ่มต้นคือ TRUE (will replace) FALSE (allows multiple headers of the same type)
http_response_code ไม่จำเป็น. บังคับให้รหัสการตอบสนอง HTTP เพื่อค่าที่ระบุ (available in PHP 4.3 and higher)

เคล็ดลับและคำอธิบาย

Note: เนื่องจาก PHP 4.4 ฟังก์ชั่นนี้จะทำให้ส่วนหัวมากกว่าหนึ่งที่จะส่งไปในครั้งเดียว นี่คือการป้องกันการโจมตีฉีดหัว


ตัวอย่างที่ 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>

...
...

Note: มีตัวเลือกที่ผู้ใช้อาจตั้งค่าการเปลี่ยนแปลงการตั้งค่าเริ่มต้นแคชเบราว์เซอร์ที่มี โดยการส่งหัวข้างต้นคุณควรแทนที่การตั้งค่าเหล่านั้นและบังคับให้เบราว์เซอร์ที่จะไม่แคช!


ตัวอย่างที่ 2

ขอให้ผู้ใช้รับแจ้งให้บันทึกไฟล์ PDF ที่สร้าง (หัว Disposition เนื้อหาที่ใช้ในการจัดหาชื่อไฟล์แนะนำและบังคับให้เบราว์เซอร์เพื่อแสดงการบันทึกกล่องโต้ตอบ):

<?php
header("Content-type:application/pdf");

// It will be called downloaded.pdf
header("Content-Disposition:attachment;filename='downloaded.pdf'");

// The PDF source is in original.pdf
readfile("original.pdf");
?>

<html>
<body>

...
...

Note: มีข้อผิดพลาดใน Microsoft IE 5.5 ที่ช่วยป้องกันการนี้จากการทำงานคือ ข้อผิดพลาดสามารถแก้ไขได้โดยการอัพเกรดเป็น Service Pack 2 หรือในภายหลัง


<อ้างอิง PHP HTTP สมบูรณ์