PHP တွင် feof () တွင် feof () သည်အလွန်အသုံးများသောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ FEOF () ဖိုင်ညွှန်ပြဖိုင်သည်ဖိုင်၏အဆုံးသို့ရောက်ရှိပါက ပြန်လည်ထူထောင် သည် ။ များသောအားဖြင့် feof () finages () နှင့်အရူးအမူး () နှင့် fread () နှင့် free) နှင့်ဖိုင်များကိုလိုင်းသို့မဟုတ်ပိတ်ပင်တားဆီးမှုဖြင့်ဖတ်သည့်အခါကွင်းဆက်ရပ်စဲခြင်း () ကိုထိန်းချုပ်ရန်အသုံးပြုသောဖိုင်များနှင့် တွဲဖက်. ဖိုင်များနှင့် တွဲဖက်. ဖိုင်များဖြင့်အသုံးပြုသည်။
ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည်ဖိုင်တစ်ခုစီကိုဖတ်ရန် FEF () ကို မည်သို့အသုံးပြုရမည်ကိုပြသသည်။
<?php
$handle = fopen("largefile.txt", "r");
while (!feof($handle)) {
$line = fgets($handle);
echo $line;
}
fclose($handle);
?>
အထက်ပါကုဒ်တွင် feof () feof () ဖိုင်ကိုဖတ်ပြီးသည်ကိုစစ်ဆေးရန်အသုံးပြုသည်, ကွင်းဆက်၏အဆုံးကိုထိန်းချုပ်သည်။
feof () သည်ရိုးရှင်းသောနှင့်အသုံးများသော function တစ်ခုဖြစ်သော်လည်းကြီးမားသောဖိုင်များကိုဖတ်သည့်အခါ၎င်း၏စွမ်းဆောင်ရည်သည်ကျေနပ်ဖွယ်ကောင်းမည်မဟုတ်ပါ။ ဤတွင်စွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်စေသောအချက်အနည်းငယ်ကိုဤတွင်ဖော်ပြထားသည်။
feof () ကိုစစ်ဆေးပြီးတိုင်းဖိုင်ညွှန်ပြ၏တည်နေရာကိုရှာဖွေရန်လိုအပ်သည်။ ဆိုလိုသည်မှာ feof () တိုင်းအချိန်တိုင်း PHP သည်အောက်ခြေရှိဖိုင်ထောက်လှမ်းရေးများကိုစစ်ဆေးပြီးနှိုင်းယှဉ်လိမ့်မည်ဟုဆိုလိုသည်။ အကယ်. သင်သည်အလွန်ကြီးမားသည့်ဖိုင်ကိုဖတ်နေပြီးသင် fefof () ကို အချိန်တိုင်းဟုခေါ်ပါကအပိုဆောင်းစွမ်းဆောင်ရည်ကိုဖြစ်ပေါ်စေလိမ့်မည်။
feof () ဖိုင်သည်ဖိုင်ပြီးဆုံးသည်ကိုဆုံးဖြတ်သောအခါအထူးသဖြင့်ဖိုင်သည်အလွန်ကြီးမားသောအခါမကြာခဏနှောင့်နှေးနေလေ့ရှိသည်။ PHP သည်ဖိုင်၏အစိတ်အပိုင်းတစ်ခုကိုဆုံးဖြတ်ရန်အချိန်တိုင်းတွင်ဖတ်ရှုရမည်ဟုဤသို့မကြာခဏစစ်ဆေးမှုများသည်အလုံးစုံစွမ်းဆောင်ရည်ကိုပျက်စီးစေနိုင်သည်။
ဖိုင်ဖတ်ခြင်း၏စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်အောက်ပါ optimization နည်းလမ်းများကိုထည့်သွင်းစဉ်းစားနိုင်သည် -
FEFIF () ဖိုင်အကြောင်းအရာကိုတိုက်ရိုက်ဖတ်ရန် FENG သို့ခေါ်ဆိုမှုတစ်ခုစီနှင့်နှိုင်းယှဉ်လျှင်သင်က fgets () သို့မဟုတ် fread () ကို သုံးနိုင်သည်။ ဤနည်းလမ်းသည်အချိန်တိုင်းဖိုင် pointer အနေအထားကိုစစ်ဆေးခြင်းကိုရှောင်ရှားသည်။
<?php
$handle = fopen("largefile.txt", "r");
while (($line = fgets($handle)) !== false) {
echo $line;
}
fclose($handle);
?>
ဤချဉ်းကပ်မှုတွင် fgets ၏ returns () သည် မှားယွင်းသော တန်ဖိုးကိုမှားယွင်းစွာစစ်ဆေးသည်။
စာဖတ်ခြင်း၏ကြားခံအရွယ်အစားကိုတိုးမြှင့်ခြင်းသည်ပိုမိုကောင်းမွန်သည့်နည်းလမ်းဖြစ်သည်။ သင့်လျော်သောကြားခံကိုသတ်မှတ်ခြင်းအားဖြင့်ဒေတာများကိုတစ်ပြိုင်နက်တည်းဖတ်နိုင်ပြီးမကြာခဏ i / o စစ်ဆင်ရေးများကိုလျှော့ချရန်, စွမ်းဆောင်ရည်တိုးတက်အောင်ပြုလုပ်နိုင်သည်။ PHP တွင်, သင်သည် buffer အရွယ်အစားကိုသတ်မှတ်ရန် stream_set_read_buffer () ကို သုံးနိုင်သည်။
<?php
$handle = fopen("largefile.txt", "r");
stream_set_read_buffer($handle, 4096); // ရန် buffer အရွယ်အစားကိုသတ်မှတ်ပါ 4KB
while (($line = fgets($handle)) !== false) {
echo $line;
}
fclose($handle);
?>
ကြားခံအရွယ်အစားကိုတိုးမြှင့်ခြင်းအားဖြင့် I / O စစ်ဆင်ရေးအရေအတွက်ကိုလျှော့ချနိုင်ပြီးဖိုင်ဖတ်ခြင်း၏ထိရောက်မှုကိုတိုးတက်စေနိုင်သည်။
အကယ်. ဖိုင်ကိုလိုင်းဖြင့်ဖတ်ရန်မလိုအပ်ပါကဖိုင်အကြောင်းအရာကိုတစ်ချိန်တည်းတွင် Memory သို့ဖတ်ရန် File_get_Contents () ဖိုင် () function ကိုသုံးပါ။ ၎င်းသည်တန်းတူညီမျှစွာစာဖတ်ခြင်းနှင့်ထိရောက်သောစာဖတ်ခြင်းကာလအတွင်း feof () ကိုမကြာခဏခေါ်ဆိုခြင်းနှင့်ထိရောက်မှုကိုပိုမိုကောင်းမွန်စေသည်။ သို့သော်ဤနည်းလမ်းသည်ဖိုင်များသေးငယ်သည့်အခြေအနေများနှင့်အလွန်ကြီးမားသောဖိုင်များအတွက်သင့်တော်ကြောင်းသတိပြုသင့်သည်။
<?php
$content = file_get_contents("largefile.txt");
echo $content;
?>
အကယ်. ဖိုင်သည်အလွန်ကြီးမားပြီးရှုပ်ထွေးသောအပြောင်းအလဲများလိုအပ်ပါကဖိုင်ကိုအပိုင်းပိုင်း ခွဲ. တစ်ပြိုင်နက်တည်းလုပ်ဆောင်ခြင်းကိုစဉ်းစားပါ။ ဥပမာအားဖြင့်ကြီးမားသောဖိုင်ကြီးကိုသေးငယ်သောအတုံးများထဲသို့ ခွဲ. ခွဲထုတ်နိုင်ပြီး,
feof () ကိုအသုံးပြုပြီးရိုးရှင်းသော်လည်းများစွာသောဖိုင်များကိုဖတ်ရှုသောအခါအထူးသဖြင့်ဖိုင်များအလွန်ကြီးမားသည့်အခါ, မကြာခဏဆိုသလို feof သို့မကြာခဏခေါ်ဆိုမှုကိုရှောင်ကြဉ်ခြင်းဖြင့်ဖတ်ရှုခြင်း၏ပြန်လာတန်ဖိုးကိုတိုက်ရိုက်ဆုံးဖြတ်ခြင်းကဲ့သို့သောနည်းလမ်းများကို အသုံးပြု. ဖတ်ကြားရေးကိုတိုးမြှင့်ခြင်းနှင့်တစ်ကြိမ်ဖတ်ရှုခြင်း function ကိုအသုံးပြုခြင်းအားဖြင့်ဖိုင်ဖတ်ခြင်း၏စွမ်းဆောင်ရည်ကိုသိသိသာသာတိုးတက်အောင်လုပ်နိုင်သည်။
အတိုချုပ်ဆိုရလျှင်ဖိုင်ဖတ်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စေရန်သော့ချက်မှာမလိုအပ်သော I / O စစ်ဆင်ရေးကိုလျှော့ချရန်, သိုလှောင်ရေးယန္တရားကိုဆင်ခြင်တုံတရားကိုဆင်ခြင်တုံတရားနှင့်ပြန်လည်အသုံးပြုခြင်းကိုလျှော့ချရန်နှင့်အမှန်တကယ်အခြေအနေများအရသင့်လျော်သောစာဖတ်ခြင်းနည်းလမ်းကိုရွေးချယ်ပါ။ စာဖတ်စဉ်အတွင်းနှောင့်နှေးခြင်းနှင့် overhead ကိုထိထိရောက်ရောက်လျှော့ချပါကကြီးမားသောဖိုင်များပြုပြင်ထုတ်လုပ်သည့်အခါပရိုဂရမ်၏ထိရောက်မှုကိုတိုးပွားလာနိုင်သည်။