شرح صفوف ومحتوى الفقرة
تتكون كل استجابة HTTP من رؤوس معلومات (Headers) يتبعها سطر فارغ ثم جسم الصفحة (Body)، وتتيح دالة header() في PHP إرسال هذه الرؤوس قبل بدء إرسال محتوى الصفحة.
- تفرض قواعد بروتوكول HTTP إرسال جميع الرؤوس قبل إرسال أي بايت من جسم الصفحة (سواء وسم HTML أو
echoأو حتى مسافة فارغة قبل<?php). - استخدم
header("Content-Type: ...")أوContent-Dispositionلإخبار المتصفح بنوع المحتوى أو إجباره على تنزيل ملف. - افتراضياً، يؤدي تكرار استدعاء
header()بنفس اسم الرأس إلى استبدال القيمة السابقة ما لم تضبط المعامل الثاني$replaceعلىfalse.
تضبط استدعاءات header() الثلاثة نوع المحتوى ورؤوس الأمان في أعلى السكريبت قبل أول أمر طباعة echo.
PHP
<?php
header("Content-Type: text/plain; charset=UTF-8");
header("X-Content-Type-Options: nosniff");
header("X-Powered-By: CloseTag-Engine");
echo "Response headers configured before body output.\n";
echo "Headers sent? " . (headers_sent() ? "Yes" : "No") . "\n";