PDA

View Full Version : کاربرد تابع ob_start



IMANAZADI
پنج شنبه 13 اسفند 1394, 17:18 عصر
با سلام

دوستان میشه یکی کامل و روان توضیح بده که کاربرد تابع ob_start و ob_end_flush(); چیست و کجاها باید استفاده بشه

saeedvir
جمعه 14 اسفند 1394, 00:11 صبح
مواقعی که می خواهید یک سیستم cache ساده درست کنید یا وقتی می خواهید روی خروجی ارسالی به مرورگر کنترل بیشتری داشته باشید.

مهرداد سیف زاده
جمعه 14 اسفند 1394, 09:10 صبح
ربطی به کش نداره
ob مخفف output buffer هست و توابع این گروه شامل
ob_start
ob_clean
ob_end_flush
و چندین تابع از همین دست هست که لیستش
http://php.net/manual/en/function.ob-start.php

کاربرد ob ها در کنترل header صفحه هست. شما نمیتونید در ابتدای برنامه header مرورگر رو دستکاری کنید و بعد برسید به تنه برنامه دوباره روی همون header قبلی یه چیز دیگه بنویسید و در انتهای فایل دوباره دستکاری header. برای حل این مشکل نگه داشتن در یک بافر و بعد ارسال یکدفعه به مرورگر هست. شما وقتی در ابتدای برنامه در خط اول ob_start میزنید بافری برای نگهداری header باز میشه و صبر میکنه تا تابع ob_end_flush صدا زده بشه تا یکدفعه تمام مقادیر بافر شده رو ببره بده به مرورگر.

البته در شاید نظر دوست ما در مورد کش امکان کنترل کردن expire date مرورگر هست.