set_file_buffer() (set_file_buffer)
تابع set_file_buffer() اندازه «بافر (Buffer)» نوشتن را تعیین می کند. «بافر» یعنی حافظه موقت برای جمع کردن داده قبل از نوشتن. مثل وقتی تکالیف را جمع می کنی، بعد یک جا تحویل می دهی.
تعریف و کاربرد بافر نوشتن فایل
این تابع تعداد بایت بافر را برای فایل تعیین می کند. خروجی fwrite() معمولاً 8KB بافر می شود. اگر بافر را صفر دهی، نوشتن «بی بافر» می شود و عملیات فوراً انجام می شود.
نکته مهم
این تابع هم معنا با stream_set_write_buffer() است. یعنی نتیجه یکی است.
نمونه کد: ساخت جریان بدون بافر
<?php
$file = fopen("test.txt", "w");
if ($file) {
set_file_buffer($file, 0);
fwrite($file, "Hello World. Testing!");
fclose($file);
}
?>
گام های عملی
- فایل را با fopen() باز کن.
- بافر نوشتن فایل را تنظیم کن؛ مثلاً صفر.
- داده را با fwrite() بنویس.
- فایل را با fclose() ببند.
نکته: اگر نوشتن باید فوری باشد، بافر را صفر کن. برای «بافر نوشتن فایل» مقادیر بزرگ تر، دفعات نوشتن را کم می کند.
هشدار: صفر کردن بافر می تواند سرعت را کم کند؛ چون نوشتن زیاد می شود.
جمع بندی سریع
- بافر یعنی صف موقت نوشتن.
- 8KB مقدار پیش فرض معمولی است.
- صفر یعنی نوشتن فوری و بی بافر.
- هم معنا با stream_set_write_buffer() است.