آموزش PHP > مدیریت HTTp در PHP > تابع ( ) header
تابع ( ) header :
تابع ( ) header ، یک دستور HTTP را به مرورگر کاربر ( client ) ارسال می کند .
از دستورات HTTP برای ارسال کدهایی که می خواهید قبل از هرگونه پردازش یا تولید خروجی
صفحه ، توسط وب سرور اجرا شوند ، استفاده می شود .
بنابراین تابع ( ) header ، بایستی قبل از هر گونه کد یا دستور در صفحه ، حتی قبل از
تگ HTML تعریف شوند . برای مثال
کد زیر ، صفحه را دچار مشکل می کند . چرا که بعد از تگ <html> وارد شده است :
|
کد نا صحیح
|
<html>
<?php
// این کد باعث بروز خطا در صفحه می شود
// قرار دارد html چون بعد از تگ
header('Location:http://www.example.com/');
?>
</html>
|
شکل کلی استفاده از این تابع به صورت زیر است :
|
syntax
|
header( string , replace , http_response_code ) ;
|
|
توضیح
|
این پارامتر دستور یا عبارت HTTP را برای تابع ( ) header تعیین می کند .
استفاده از این پارامتر اجباری است .
|
این پارامتر تعیین می کند که آیا دستور HTTP ارسالی باید جایگزین دستور مشابه قبلی
خود شود یا اینکه دستور دومی را به صفحه اضافه نماید . مقدار پیش فرض این پارامتر TRUE
است و باعث می شود تا دستور HTTP جدید ، جایگزین دستور HTTP قبلی مشابه خود شود .
استفاده از این پارامتر اختیاری است .
|
این پارامتر یک مقدار اجباری را برای پاسخ دستور HTTP تعیین می کند .
تا آنجایی که ما بررسی کردیم ، این پارامتر کاربرد چندانی ندارد !
استفاده از این پارامتر اختیاری است .
|
مثال های عملی :
در این بخش با ارائه چند مثال عملی ، نحوه استفاده و کاربرد تابع ( ) 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>
...
|
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه :