برنامه نویسی

تابع ( ) header در Php

امتیاز کاربران

ستاره فعالستاره فعالستاره فعالستاره غیر فعالستاره غیر فعال
 

تابع ( ) header ، یک دستور HTTP را به مرورگر کاربر ( client ) ارسال می کند . از دستورات HTTP برای ارسال کدهایی که می خواهید قبل از هرگونه پردازش یا تولید خروجی صفحه ، توسط وب سرور اجرا شوند ، استفاده می شود . 

بنابراین تابع ( ) header ، بایستی قبل از هر گونه کد یا دستور در صفحه ، حتی قبل از تگ HTML تعریف شوند . برای مثال کد زیر ، صفحه را دچار مشکل می کند . چرا که بعد از تگ <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

مثال های عملی :

در این بخش با ارائه چند مثال عملی ، نحوه استفاده و کاربرد تابع ( ) 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>
  ...

تمام حقوق سایت برای سلام دیجی و نويسندگان آن محفوظ می باشد