ob_get_contents
تابع «ob_get_contents» برای «گرفتن محتوای بافر خروجی» است. «بافر خروجی (Output Buffer)» یعنی جایی موقت برای متن ها قبل از ارسال. با این تابع، محتوای بالاترین بافر را برمی گردانی.
تعریف کوتاه و کاربرد
ob_get_contents() رشته داخل بافر فعال را می دهد. سپس می توانی آن را ذخیره یا بعداً نمایش دهی. مثل دیدن پیش نویس قبل از تحویل نهایی.
نمونه کد: گرفتن محتوا و بستن بافر
گام ها: بافر را شروع کن، متن بساز، محتوا را بگیر، بافر را ببند، سپس نمایش بده.
<?php
ob_start();
echo "Hello World!";
$contents = ob_get_contents();
ob_end_clean();
echo "The contents of the buffer are: ";
echo $contents;
?>
گام های عملی سریع
- با
ob_start()بافر خروجی را فعال کن. - با
echoمتن موقتی تولید کن. - با
ob_get_contents()محتوای بافر را بگیر. - با
ob_end_clean()بافر را پاک و ببند. - رشته گرفته شده را هرجا لازم است نمایش بده.
نکته: اگر بافر فعال نباشد، خروجی معناداری نمی گیری؛ اول ob_start() اجرا شود.
هشدار: ob_get_contents() بافر را پاک نمی کند؛ برای پاک کردن از ob_end_clean() استفاده کن.
پیوندهای داخلی
- گرفتن محتوای بافر همین صفحه برای یادآوری سریع.
- ob_get_clean برای گرفتن محتوا همراه پاک سازی.
- ob_clean فقط پاک کردن بدون برگرداندن محتوا.
- flush درخواست ارسال بافر به مرورگر.
جمع بندی سریع
- فقط محتوا را برمی گرداند، پاک نمی کند.
- پیش نیاز:
ob_start()فعال باشد. - برای قالب سازی خروجی بسیار کاربردی است.
- برای پاک کردن، از
ob_end_clean()کمک بگیر.