<كاملة 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 | اختياري. يشير إلى ما إذا الرأس يجب أن يحل محل السابق أو إضافة رأس الثانية. الافتراضي هو الحقيقي (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 ولدت (يستخدم رأس المحتوى الترتيب لتزويد اسم الموصى بها وإجبار المتصفح لعرض مربع الحوار حفظ):
<?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: يوجد خطأ في مايكروسوفت إنترنت إكسبلورر 5.5 يمنع هذا من العمل. علة لا يمكن حلها عن طريق الترقية إلى Service Pack 2 أو في وقت لاحق.
<كاملة PHP HTTP المرجعي