ဤလုပ်ဆောင်ချက်သည်သတ်မှတ်ထားသောစက္ကန့်ပိုင်းနှင့် nanoseconds များအတွက် script ကိုတားဆီးထားသည်။ ၎င်းသည် အိပ်စက်ခြင်း နှင့် USLEEP ထက်တိကျမှုပိုမိုမြင့်မားပြီး,
ob_flush ()
PHP ၏ output buffer အကြောင်းအရာကို browser သို့အတင်းဖိအားပေးပါ။ သို့သော်ကြားခံကိုမပိတ်ပါ။ flush () နှင့်အသုံးပြုသောအခါ, အကြောင်းအရာကိုအချိန်မှန်အတွက် "တွန်း" နိုင်ပါတယ်။
မှတ်စု: output သည် browser ကိုအမှန်တကယ်ရောက်ရှိရန်သေချာစေရန်အတွက်၎င်းကို plush () နှင့်အသုံးပြုလေ့ရှိသည်။
<?php
// script script လုပ်ဆောင်မှုအချိန်ကန့်သတ်ပိတ်ပါ(လိုအပ်သလို)
// set_time_limit(0);
// output ကိုကြားခံဖွင့်ပါ
ob_start();
// Browser Cache နှင့် compression ကိုပိတ်ထားပါ,လက်ငင်းဒေတာထုတ်လွှင့်သေချာပါစေ
header("Content-Type: text/plain");
header("Cache-Control: no-cache");
header("X-Accel-Buffering: no"); // အတွက် Nginx cache ကိုပိတ်ပါ
// ရုပ်သိမ်းခြင်း gzip ချုံ့ခြင်း(ဆာဗာကိုပုံမှန်အားဖြင့်ဖွင့်လျှင်)
// သတ်သတ်မှတ်မှတ်နည်းလမ်းများကိုဆာဗာပတ် 0 န်းကျင်အရ configure လုပ်ထားသည်
for ($i = 1; $i <= 5; $i++) {
echo "လက်ရှိခြေလှမ်းများ:{$i}\n";
// Refresh Refresh PHP output ကိုကြားခံ
ob_flush();
flush();
// အသုံးပြု time_nanosleep microsecond နှောင့်နှေး,0.5စက်ဏန့် = 500,000,000 纳စက်ဏန့်
time_nanosleep(0, 500000000);
}
echo "အားလုံးခြေလှမ်းများပြီးစီးနေကြသည်!\n";
?>
ob_start () - ကြားခံဖောင်ဒေးရှင်းကိုထိန်းချုပ်နိုင်အောင်သေချာစေရန် ob_start () - output buffering ကိုစတင်ပါ။
ပဲ့တင်သံ - အချက်အလက်အချက်အလက်တစ်ခု။
ob_flush () flush () flush () : buffer အကြောင်းအရာကို client ထဲသို့ပို့ရန်နှင့် browser display ကို refresh လုပ်ပါ။
Time_nanosleep (0, 500000000) - 0.5 စက္ကန့် (500,000,000,000) ကိုခေတ္တရပ်နားခြင်း,
browser နှင့် server cache ကြောင့်ဖြစ်ရတဲ့အကြောင်းအရာနောက်ကျမှုကိုရှောင်ရှားရန် http ခေါင်းစီးများကိုသင့်လျော်စွာထားပါ။
ဆာဗာ configuration သက်ရောက်မှု ဆာဗာများ (apache, apache, nginx) သည် default compution သို့မဟုတ် buffering ကိုပုံမှန်အားဖြင့်ထုတ်ယူခြင်းသို့မဟုတ်ကြားဖူးစေနိုင်သည်။ gzip compression ကိုပိတ်ထားပြီး cache ကိုမြန်အောင်လုပ်ပါ။
browser အပြုအမူ <br> <br> အချို့သော browser (ဘရောက်ဆာ) သည်အချို့သောအရွယ်အစားကိုမရောက်မချင်းစစ်ဆေးနိုင်ပြီး output content သည်သေးငယ်လွန်းပါကချက်ချင်းပြသခြင်းမပြုနိုင်ပါ။ သငျသညျ trigger ကိုအစပျိုးရန် whitespace ဇာတ်ကောင်အရေအတွက်ကို output ကို output လုပ်ဖို့ကြိုးစားနိုင်ပါတယ်။
Buffer အရွယ်အစား
PHP မှ output buffer နှင့်ဝဘ်ဆာဗာကြားခံ၏အရွယ်အစားသည် output အမြန်နှုန်းကိုအကျိုးသက်ရောက်သည်။ အဆိုပါကြားခံအရွယ်အစားကိုအမှန်တကယ်အခြေအနေများအရချိန်ညှိနိုင်ပါတယ်။
PHP ဗားရှင်း
Time_Nanosleep သည်သင်၏ပတ်ဝန်းကျင်လိုအပ်ချက်များကိုဖြည့်ဆည်းပေးနိုင်ရန် PHP 5.0.0 ဖြင့်စတင်ခြင်းကိုထောက်ပံ့သည်။
Time_Nanosleep နှင့် ob_flush ကို ပေါင်းစပ်ခြင်းအားဖြင့် PHP တွင် Segment-stiet-time data output ကိုအကောင်အထည်ဖော်နိုင်ပြီး PHP တွင် PHP တွင် Tear-time data output ကိုအကောင်အထည်ဖော်နိုင်သည်။ ဤနည်းလမ်းသည်ရိုးရှင်းလွယ်ကူပြီးအသုံးပြုရန်လွယ်ကူပြီးနှောင့်နှေးမှုများသည် microseconds လိုအပ်ချက်များလိုအပ်သည့်အခြေအနေများအတွက်သင့်တော်သည်။
ကျိုးကြောင်းဆီလျော်သော server နှင့် browser settings များနှင့်ပေါင်းစပ်ပါကသင်အလွန်ချောမွေ့သောအချိန်ရလဒ်ကိုအကျိုးသက်ရောက်မှုများကိုရယူပြီးအသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေနိုင်သည်။