تقوم الدالة header() بإرسال رؤوس HTTP الأولية إلى العميل.
من المهم أن تدرك أنه يجب استدعاء الدالة header() قبل إرسال أي مخرجات فعلية (في PHP 4 والإصدارات الأحدث، يمكنك استخدام التخزين المؤقت للمخرجات لحل هذه المشكلة):
<html><?php// يؤدي هذا إلى حدوث خطأ.// الإخراج أعلاه موجود قبل رأس الاتصال header()('Location: http://www.example.com/');?>
رأس (سلسلة، استبدال، http_response_code)
المعلمة | يصف |
---|---|
خيط | مطلوب. يحدد سلسلة الرأس المراد إرسالها. |
يستبدل | خياري. يشير إلى ما إذا كان هذا الرأس يحل محل الرأس السابق، أو يضيف رأسًا ثانيًا. الافتراضي هو TRUE (استبدال). خطأ (السماح برؤوس متعددة من نفس النوع). |
http_response_code | خياري. يفرض رمز استجابة HTTP على القيمة المحددة. (متوفر في PHP 4.3 وما فوق) |
ملاحظة: منذ PHP 4.4، تمنع هذه الوظيفة إرسال رؤوس متعددة في وقت واحد. هذا إجراء حماية ضد هجمات حقن الرأس.
تعطيل التخزين المؤقت للصفحة:
<?php// التاريخ في Pastheader("انتهاء الصلاحية: الإثنين، 26 يوليو 1997 05:00:00 بتوقيت جرينتش");header("التحكم في ذاكرة التخزين المؤقت: no-cache");header("Pragma: no-cache") ;?><html><body>......
ملاحظة: هناك خيارات يمكن للمستخدمين تعيينها لتغيير إعدادات ذاكرة التخزين المؤقت الافتراضية للمتصفح الخاص بهم. من خلال إرسال العنوان أعلاه، يمكنك تجاوز أي من هذه الإعدادات وإجبار المتصفح على عدم التخزين المؤقت!
مطالبة المستخدم بحفظ ملف PDF تم إنشاؤه (يتم استخدام رأس Content-Disposition لتوفير اسم ملف موصى به وإجبار المتصفح على عرض مربع حوار الحفظ):
<?phpheader("Content-type:application/pdf");// سيتم استدعاؤه download.pdfheader("Content-Disposition:attachment;filename='downloaded.pdf'");// مصدر PDF أصلي .pdfreadfile("original.pdf");?><html><body>......
ملاحظة: يحتوي Microsoft IE 5.5 على خطأ يمنع الآلية المذكورة أعلاه. يمكن حل هذا الخطأ عن طريق الترقية إلى Service Pack 2 أو أعلى.