تابع ( ) header ، یک دستور HTTP را به مرورگر کاربر ( client ) ارسال می کند . از دستورات HTTP برای ارسال کدهایی که می خواهید قبل از هرگونه پردازش یا تولید خروجی صفحه ، توسط وب سرور اجرا شوند ، استفاده می شود . بنابراین تابع ( ) header ، بایستی قبل از هر گونه کد یا دستور در صفحه، حتی قبل از تگ HTML تعریف شوند.
حتما بخوانید: تابع ( ) chroot در PHP
برای مثال کد زیر ، صفحه را دچار مشکل می کند . چرا که بعد از تگ <html> وارد شده است :
کد نا صحیح | <html> <?php // این کد باعث بروز خطا در صفحه می شود // قرار دارد html چون بعد از تگ header(‘Location:http://www.example.com/’); ?> </html> |
شکل کلی استفاده از این تابع به صورت زیر است :
syntax | header( string , replace , http_response_code ) ; |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
این پارامتر دستور یا عبارت HTTP را برای تابع ( ) header تعیین می کند . استفاده از این پارامتر اجباری است . |
string |
این پارامتر تعیین می کند که آیا دستور HTTP ارسالی باید جایگزین دستور مشابه قبلی خود شود یا اینکه دستور دومی را به صفحه اضافه نماید . مقدار پیش فرض این پارامتر TRUE است و باعث می شود تا دستور HTTP جدید ، جایگزین دستور HTTP قبلی مشابه خود شود . استفاده از این پارامتر اختیاری است . |
replace |
این پارامتر یک مقدار اجباری را برای پاسخ دستور HTTP تعیین می کند . تا آنجایی که ما بررسی کردیم ، این پارامتر کاربرد چندانی ندارد ! استفاده از این پارامتر اختیاری است . |
http_response_code |
حتما بخوانید: مرجع توابع کار با پوشه ها در PHP
مثال های عملی :
در این بخش با ارائه چند مثال عملی ، نحوه استفاده و کاربرد تابع ( ) header را در PHP آموزش داده ایم .
مثال 1: به طور معمول مرورگرها اطلاعات صفحاتی که اجرا می کنند را در حافظه ذخیره ( cache ) می کنند . در مثال زیر به وسیله تابع ( ) header ، یک دستور HTTP را به مرورگر ارسال کرده ایم ، تا از ذخیره اطلاعات صفحه جاری در حافظه خودداری نماید :
مثال | < ? php // تاریخ مراجعه قبلی header(“Expires: Mon, 26 Jul 2012 05:00:00 GMT”); header(“Cache-Control: no-cache”); header(“Pragma: no-cache”); ? > <html> <body> … |
مثال 2 : در مثال زیر ، توسط یک دستور HTTP به مرورگر اعلام کرده ایم تا در هنگام لود صفحه پنجره دانلودی را به کاربر نمایش داده و در صورت تمایل وی ، یک فایل PDF را ذخیره نماید :
مثال 2 | < ? php header(“Content-type:application/pdf”); |
// این دستور باعث نمایش کادر دانلود می شود
header(“Content-Disposition:attachment;filename=’downloaded.pdf'”);
// نام فایل را تعیین می کند
readfile(“original.pdf”);
? >
<html>
<body>
…
با دریافت « مشاوره برنامهنویسی، وب و سئو » از کارشناسان جوان حرفهای و باتجربه ساکوراد؛ موفقیت کسب و کار، رونق فروش و افزایش درآمد خود را تضمین کنید!
و اما کلام آخر…
تابع ( ) header ابزاری قدرتمند در PHP است که به شما امکان میدهد تا کنترل کاملی بر روی هدرهای HTTP داشته باشید و رفتار صفحات وب خود را بهینه کنید. با استفاده صحیح از این تابع، میتوانید تجربه کاربری بهتری را فراهم سازید و اطلاعات لازم را به کلاینتها ارسال کنید.