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