လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> fopen နှင့် getline ကိုဖြည့်ဆည်းပေးရန် File Processing ကိုအကောင်အထည်ဖော်ရန်မည်သို့ပေါင်းစပ်ရမည်နည်း

fopen နှင့် getline ကိုဖြည့်ဆည်းပေးရန် File Processing ကိုအကောင်အထည်ဖော်ရန်မည်သို့ပေါင်းစပ်ရမည်နည်း

gitbox 2025-05-26

နေ့စဉ် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဖိုင်ဖတ်နေခြင်းသည်အလွန်အခြေခံဖြစ်သော်လည်းအလွန်အရေးကြီးသောစစ်ဆင်ရေးဖြစ်သည်။ PHP သည်ဖိုင်များကိုဖတ်ရန်နည်းလမ်းများစွာကိုပေးသည်။ fopen နှင့် fgets များ (getline ဟုခေါ်သော) ပေါင်းစပ်မှု ( Getline ဟုခေါ်သော) ပေါင်းစပ်မှုသည်ကြီးမားသောဖိုင်များသို့မဟုတ်မှတ်တမ်းဖိုင်များကိုကိုင်တွယ်ရန်အလွန်သင့်လျော်သော flexible, memory-friendly line-line ကိုစာဖတ်ခြင်းလုပ်ငန်းများကိုပိုမိုရရှိနိုင်သည်။

ဤသင်ခန်းစာသည်သင့်အား fopen နှင့် Fgets များကို မည်သို့ပေါင်းစပ်ပြီး File Contents ကိုထိရောက်စွာဖတ်ရန်မည်သို့ပေါင်းစပ်ရန်နှင့်စာဖတ်နိုင်မှုနှင့်အမှားသည်းခံမှုကိုတိုးတက်စေရန်လက်တွေ့ကျသောအကြံပြုချက်များကိုမိတ်ဆက်ပေးလိမ့်မည်။

1 ။ fopen function ကိုအခြေခံ

FOPEN သည် PHP တွင်ဖိုင်တစ်ခုဖွင့်ရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

<code> $ လက်ကိုင် = fopen (https://gitbox.net/files/sampen.txt "" r "), </ code>

အတွက်

  • ပထမ ဦး ဆုံး parameter သည်ဒေသတွင်းလမ်းကြောင်းသို့မဟုတ် URL တစ်ခုဖြစ်နိုင်သောဖိုင်လမ်းကြောင်းဖြစ်သည်

  • ဒုတိယ parameter သည် File Openire Mode ဖြစ်သည်, R ကို ဖတ်ရန်တစ်ခုတည်းသောပုံစံဖြင့်ဖိုင်ကိုဖွင့်ခြင်းဟုဆိုလိုသည်။

FOPEN အောင်မြင်သောအခါဖိုင်လက်ကိုင်ကိုပြန်လာလိမ့်မည်

2 ။ ဖိုင်အကြောင်းအရာကိုရယူရန် fgets များကိုအသုံးပြုပါ

ဖိုင်ကိုဖွင့်ပြီးနောက်, ဖိုင်အိတ်လိုင်းကိုလိုင်းဖြင့်ဖတ်ရန် FITGES function ကိုသုံးနိုင်သည်။ ၎င်း၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

<Code> $ line = fgets ($ လက်ကိုင်); </ code>

ဤလုပ်ဆောင်ချက်သည်ဖိုင်အမျိုးအစားများကိုစာသားပုံစံဖြင့်ဖတ်ရန်အတွက်သင့်တော်သောဖိုင်မှ (လိုင်းချိုးအပါအဝင်) (လိုင်းချိုးအပါအဝင်) လိုင်းကိုဖတ်ရှုလိမ့်မည်။

3 ။ လိုင်း -by-line စာဖတ်ခြင်းဥပမာ

fopen နှင့် fget များ နှင့်ပေါင်းစပ်ခြင်းဖြင့် line-line စာဖတ်ခြင်းကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုသရုပ်ပြရန်ရိုးရှင်းသောဥပမာတစ်ခုမှာ -

<Code> $ filename = "https://gitbox.net/files/log.txt";

$ လက်ကိုင် = fopen ($ filename, r ");

လျှင် ($ လက်ကိုင်) {
စဉ် (($ line = fgets))! == fiss) {
ပဲ့တင်သံ htmlspecialchars ($ လိုင်း) ။ "<br> <br>";
}
fcose ($ လက်ကိုင်);
} အခြား
ECHO "ဖိုင်ကိုဖွင့ ်. မရပါ။ $ filename";
}
</ code>

ဤကုဒ်သည် Remote server gittox.net မှ log.txt ဖိုင်ကိုဖတ်ပြီး၎င်းတွင်ပါ 0 င်သောအရာများကိုလိုင်းအားဖြင့်ဖော်ပြသည်။ HTMLSpecialcharcharchars HTML ဆေးထိုးခြင်းကာကွယ်ရန်အသုံးပြုသည်။

4 ။ နံပါတ်များနှင့်စိတ်ကြိုက်ပြုပြင်ခြင်းယုတ္တိဗေဒကိုထည့်ပါ

အမှန်တကယ်အသုံးပြုမှုတွင်ကျွန်ုပ်တို့သည်လိုင်းတစ်ခုစီအတွက်လိုင်းနံပါတ်များကိုထည့်သွင်းရန်သို့မဟုတ်ပိုမိုရှုပ်ထွေးသောယုတ္တိဗေဒအပြောင်းအလဲများကိုလုပ်ဆောင်ရန်လိုအပ်နိုင်သည်။ ဤတွင်တိုးတက်လာသောဗားရှင်းကုဒ်ဖြစ်သည်။

<code> $ filename = "https://gitbox.net/files/data.csv"; $ လက်ကိုင် = fopen ($ filename, r ");

လျှင် ($ လက်ကိုင်) {
$ linnumber 7 1;
စဉ် (($ line = fgets))! == fiss) {
ပဲ့တင်သံ "လိုင်း {$ lineNumber}:" ။ htmlspecialchars ($ လိုင်း) ။ "<br> <br>";
$ linnumberbumber ++;
}
fcose ($ လက်ကိုင်);
} အခြား
ECHO "ဖတ်ရန်ပျက်ကွက်ခြင်း - ဖိုင်ကိုဖွင့ ်. မရပါ";
}
</ code>

CSV အချက်အလက်များ, သော့ချက်စာလုံးများ, ဒေတာထုတ်ယူခြင်း,

5 ။ ခြွင်းချက်ကိုင်တွယ်ခြင်းနှင့်ကြံ့ခိုင်မှု

Code ကိုပိုမိုခိုင်မာစေရန်အတွက်အမှားစစ်ဆေးခြင်းနှင့်ခြွင်းချက်ကိုင်တွယ်သည့်ယန္တရားများကိုထည့်သွင်းရန်အကြံပြုသည်။ ဥပမာအားဖြင့်ဖိုင်သည်တည်ရှိခြင်းရှိမရှိဆုံးဖြတ်ပါသို့မဟုတ် fopen ပျက်ကွက်မှုကိုမှတ်တမ်းတင်ပါ။

<Code> $ filename = "https://gitbox.net/files/input.txt";

အကယ်. (! Filter_VAR ($ filename, filter_valka_Url))
Die ("မမှန်ကန်သောဖိုင်လမ်းကြောင်း။ ");
}

$ လက်ကိုင် = @fopen ($ filename ", r");

(! $ လက်ကိုင်) {
error_log ("ဖိုင်ကိုဖွင့်ရန်မအောင်မြင်ပါ -" ။ $ filename);
သေဆုံး ("ဖိုင်ကိုဖတ်လို့မရဘူး, နောက်မှထပ်ကြိုးစားပါ။ ");
}

// စာဖတ်ခြင်းယုတ္တိဗေဒ ...
</ code>

6 ။ သက်ဆိုင်သောအခြေအနေများ

fopen နှင့် fgets များကို ပေါင်းစပ် အသုံးပြု. အောက်ပါအခြေအနေများအတွက်သင့်တော်သည်။

  • မှတ်ဉာဏ်သိပ်မယူစရာမလိုဘဲမှတ်တမ်းဖိုင်များကိုဖတ်ပါ

  • ဖိုင်တွဲများ (ဥပမာ - configuration files များ, စာသားအချက်အလက်များ) လိုင်းမှအဝေးမှ server line မှလိုင်းများ

  • ထုံးစံအချက်အလက်သန့်ရှင်းရေးသို့မဟုတ် format စုကူးပြောင်းခြင်းယုတ္တိဗေဒကိုအကောင်အထည်ဖော်ပါ

7 ။ နိဂုံးချုပ်

fopen နှင့် fget များ ပေါင်းစပ်ခြင်းသည် PHP ကိုပြောင်းလွယ်ပြင်လွယ်။ ထိရောက်သောဖိုင်များနှင့်စာဖတ်စွမ်းရည်ဖြင့်ပေးသည်။ စာဖတ်ခြင်းဆိုင်ရာယုတ္တိဗေဒကိုအတိအကျထိန်းချုပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်လိုင်းတစ်ခုချင်းစီကိုလိုင်းတစ်ခုစီ၏ 0 င်ရောက်ခြင်းကိုထိန်းချုပ်ခြင်းဖြင့်ဖိုင်တွဲများကိုပိုမိုထိန်းချုပ်နိုင်စွမ်းနှင့်စွမ်းဆောင်ရည်အားသာချက်များရှိနိုင်သည်။ သင့်တော်သောခြွင်းချက်ကိုင်တွယ်ခြင်းနှင့်စီးပွားရေးဆိုင်ရာယုတ္တိဗေဒပုံစံဖြင့်ဤနည်းလမ်းကို log ခွဲခြမ်းစိတ်ဖြာခြင်း, အကြောင်းအရာအကြောင်းအရာစောင့်ကြည့်လေ့လာခြင်းနှင့်ဝေးလံခေါင်သီသောဖိုင်ပြုပြင်ခြင်းစသည့်လက်တွေ့အခြေအနေအမျိုးမျိုးတွင်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုနိုင်သည်။ စာဖတ်စွမ်းရည်ကိုကျွမ်းကျင်မှုစွမ်းရည်ကိုကျွမ်းကျင်ရန်ဤသင်ခန်းစာသည်သင်အတွက်အထောက်အကူဖြစ်လိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။