ارسال هدر (header)
تابع header() یک هدر (HTTP Header) خام می فرستد. هدر، توضیح کوچکی برای مرورگر است. مثلاً می گوید کش نکن، یا نوع فایل چیست. حتماً قبل از هر خروجی صدا بزن.
تعریف و کاربرد
header() هدر خام به کلاینت می فرستد. باید قبل از هر متن یا HTML فراخوانی شود. در غیر این صورت خطا می گیری.
نحو (Syntax)
header(header, replace, http_response_code)
نمونه: جلوگیری از کش صفحه
<?php
// تاریخ در گذشته
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
?>
نکته: این هدرها تنظیمات کش مرورگر را نادیده می گیرند.
نمونه: دانلود اجباری PDF
<?php
header("Content-type:application/pdf");
// نام پیشنهادی فایل دانلودی
header("Content-Disposition:attachment;filename='downloaded.pdf'");
// ارسال محتوای PDF از فایل اصلی
readfile("original.pdf");
?>
پارامترها
- header: اجباری؛ رشته هدر برای ارسال.
- replace: اختیاری؛ جایگزینی هدر مشابه یا افزودن جدید.
- http_response_code: اختیاری؛ کد پاسخ HTTP اجباری می شود.
جزئیات فنی
- خروجی: چیزی برنمی گرداند.
- نسخه PHP: 4.0+.
- تغییرات: از PHP 5.1.2 جلوگیری از چند هدر هم زمان.
هشدار: پس از هر خروجی، دیگر header() کار نمی کند.
مطالب مرتبط
برای حذف هدر از header_remove استفاده کن. برای اجرای کال بک قبل از ارسال هدرها، header_register_callback را ببین.
جمع بندی سریع
- header() فقط قبل از هر خروجی است.
- می توانی کش را غیرفعال کنی.
- می توانی دانلود فایل را اجبار کنی.
- برای حذف، از header_remove کمک بگیر.