လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_chunk ကိုအသုံးပြုနည်းနှင့် log files များကိုဖွင့်ရန်နှင့်ပိတ်ပင်တားဆီးမှုဖြင့်ဖတ်ပါ

array_chunk ကိုအသုံးပြုနည်းနှင့် log files များကိုဖွင့်ရန်နှင့်ပိတ်ပင်တားဆီးမှုဖြင့်ဖတ်ပါ

M66 2025-04-28

မှတ်တမ်းဖိုင်များပြုပြင်သည့်အခါ, သင်သည်များသောအားဖြင့်အလွန်အကျွံမှတ်ဉာဏ်အသုံးပြုမှုသို့မဟုတ်နှေးကွေးခြင်းကဲ့သို့သောပြ problems နာများကိုသင်မကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ PHP သည် array_chunk function ကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည်သင်၏မှတ်တမ်းဖိုင်များကိုပိတ်ပင်တားဆီးမှုဖြင့်ဖတ်ရန်နှင့်လုပ်ဆောင်ရန်အတွက် Array_chunk function ကိုမည်သို့အသုံးပြုရမည်ကိုပြလိမ့်မည်။

နောက်ဘက်မေြ

ဖိုင်တစ်ခုလုံးကိုမှတ်ဉာဏ်သို့ထည့်သွင်းရန်ကြိုးစားနေသည့်မှတ်တမ်းဖိုင်များနှင့်အလုပ်လုပ်ရန်ကြိုးစားသည့်အခါမှတ်ဉာဏ်ရေလျှံသို့မဟုတ်ပရိုဂရမ်ပျက်သွားသည်။ ဤပြ problem နာကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည် array_chunk function ကို အသုံးပြု. အချက်အလက်တစ်ခုလုံးကိုတစ်ပြိုင်နက်တည်းဖွင့်မည့်အစားဒေတာကဏ် most တစ်ခုစီကိုအဆင့်ဆင့်တစ်ဆင့်လုပ်ဆောင်ခြင်းကိုပြုလုပ်ရန်အတွက်အချက်အလက်များကိုဖတ်ရန် function function ကိုသုံးနိုင်သည်။

PHP array_chunk function ကိုမိတ်ဆက်

Array_chunk သည်အလွန်အသုံး 0 င်သော PHP function ကို subarrays မျိုးစုံသို့ခွဲခြားထားသည်။ subarray တစ်ခုစီတွင်တူညီသောဒြပ်စင်အရေအတွက်ပါရှိသည်။ ဤနည်းလမ်းမှတစ်ဆင့်ဖိုင်ကြီးကြီးတစ်ခု၏ပါ 0 င်မှုများကိုသေးငယ်သောလုပ်ကွက်များသို့ခွဲထုတ်နိုင်ပြီးတစ်ချိန်တည်းတွင်လုပ်ကွက်တစ်ခုပြုလုပ်နိုင်သည်။

အကောင်အထည်ဖော်မှုအဆင့်များ

အောက်ပါအဆင့်များမှတဆင့် log files များကိုအဆင့်ဆင့်တစ်ဆင့်ပြုပြင်ခြင်းကိုအကောင်အထည်ဖော်နိုင်သည်။

  1. မှတ်တမ်းဖိုင်ကိုဖွင့်ပါ။

  2. ဖိုင်တစ်ခုချင်းစီကိုဖတ်ပြီး၎င်းကိုခင်းကျင်းစွာသိမ်းထားပါ။

  3. array_chunk ကို သုံးပါ။

  4. ပိတ်ပင်တားဆီးမှုဖြင့်ဖိုင်ပါသောအရာများကိုပိတ်ပင်တားဆီးမှုကိုလုပ်ပါ။

  5. တစ် ဦး block ကို processing ပြီးနောက်မှတ်ဉာဏ်အခမဲ့အခမဲ့ပြီးနောက်လာမယ့်ပိတ်ပင်တားဆီးမှုကိုဆက်လက်ဆောင်ရွက်။

နမူနာကုဒ်

RARAY_CHUNK ကို အသုံးပြုသော PHP နမူနာကုဒ်သည် Log files များပြုလုပ်ရန်အသုံးပြုသော PHP နမူနာကုဒ်ဖြစ်သည်။

 <?php

// မှတ်တမ်းဖိုင်လမ်းကြောင်းကိုသတ်မှတ်ပါ
$logFile = 'large_log_file.log';

// ဖတ်နှုန်းအရွယ်အစားကိုပိတ်ပင်တားဆီးမှု
$chunkSize = 1000;

// ဖိုင်ကိုဖွင့်ပါ
if (($handle = fopen($logFile, "r")) !== false) {
    // ဒေတာတစ်ခုစီကိုသိုလှောင်ထားသောခင်းကျင်းမှုကိုစတင်ပါ
    $chunk = [];

    // လိုင်းအားဖြင့်ဖိုင်လိုင်းကိုဖတ်ပါ
    while (($line = fgets($handle)) !== false) {
        // မှတ်တမ်းတစ်ခုစီကို array သို့သိမ်းထားပါ
        $chunk[] = $line;

        // ခင်းကျင်း၏အရှည် set block အရွယ်အစားသို့ရောက်ရှိပါ,အပြောင်းအလဲနဲ့လုပ်ဆောင်
        if (count($chunk) >= $chunkSize) {
            // ပိတ်ပင်တားဆီးမှုအားဖြင့်မှတ်တမ်းဒေတာထုတ်လုပ်ခြင်း
            processLogChunk($chunk);

            // ခင်းကျင်းရှင်းလင်းပါ,ဒေတာနောက်အပိုင်းအစကိုပြင်ဆင်ပါ
            $chunk = [];
        }
    }

    // ကျန်ရှိနေသေးသောဖိုင်၏ကျန်ဒေတာသည်တစ်ခုမျှသာအရွယ်အစားထက်နည်းသည်ဆိုပါက,也အပြောင်းအလဲနဲ့လုပ်ဆောင်
    if (count($chunk) > 0) {
        processLogChunk($chunk);
    }

    // ဖိုင်ကိုပိတ်ပါ
    fclose($handle);
}

/**
 * တစ်ခုချင်းစီကိုမှတ်တမ်းဒေတာပိတ်ပင်တားဆီးမှုတစ်ခုချင်းစီကို process
 *
 * @param array $chunk
 */
function processLogChunk($chunk)
{
    // 此处可以对每个日志块အပြောင်းအလဲနဲ့လုပ်ဆောင်,ဥပမာအားဖြင့်, parse log အကြောင်းအရာ
    foreach ($chunk as $logLine) {
        // ကျနော်တို့ရုံမှတ်တမ်းတစ်ခုချင်းစီကိုလိုင်းပုံနှိပ်ရုံဆိုပါစို့
        echo $logLine . PHP_EOL;
    }
}

?>

ကုဒ်ဖော်ပြချက်

  1. Open File : Log file ကိုဖွင့်ရန် fopen function ကိုသုံးပါ။

  2. စာဖတ်ခြင်းအားဖြင့်မျဉ်းကြောင်းဖြင့်လိုင်း - FITLES function မှတဆင့် line မှဖိုင်ပါသောအရာများကိုလိုင်းဖြင့်ဖတ်ပြီး log တစ်ခုစီကို $ chunk ခင်းကျင်းသို့သိမ်းဆည်းပါ။

  3. လုပ်ကွက်မှအချက်အလက်များကိုလုပ်ထုံးလုပ်နည်းများ - $ chunk ခင်းကျင်းသည့်အခါတိုင်းကြိုတင်ပြင်ဆင်မှုအရွယ်အစားသို့ရောက်သောအခါ (ဤနေရာတွင်အတန်း 1000 ) ကိုရောက်သည့်အခါတိုင်းဤဒေတာအပိုင်းအစကိုဖွင့်ရန် $ chunk ခင်းပိတ်ကိုခေါ်ယူရန်ဖြစ်သည်။

  4. နောက်ဆုံးကျန်ရှိနေသေးသောအချက်အလက်များကိုလုပ်ဆောင်ပါ - ဖိုင်၏နောက်ဆုံးအပိုင်းသည်ပိတ်ပင်တားဆီးမှုအရွယ်အစားထက်နည်းပါကကျွန်ုပ်တို့သည်ဤအချက်အလက်များ၏ဤအပိုင်းကိုလုပ်ဆောင်ရန်သေချာစေရမည်။

  5. Memory : Block တစ်ခုစီအတွက်အချက်အလက်များကိုထုတ်ယူသောအခါမှတ်ဥာဏ်အလွန်အကျွံစားခြင်းမှရှောင်ရှားရန်အချိန်အတွက် ဒေတာကို အချိန်ပေးပါ။

နိဂုံးချုပ်အားဖြင့်

PHP ၏ Array_chunk function ကိုအသုံးပြုခြင်းဖြင့်ကျွန်ုပ်တို့သည်ကြီးမားသောမှတ်တမ်းဖိုင်များကိုထိရောက်စွာလုပ်ဆောင်နိုင်ပြီးဒေတာပိတ်ပင်တားဆီးမှုကိုပိတ်ပင်တားဆီးမှုဖြင့်ဖတ်နိုင်ပြီးဖိုင်တစ်ခုလုံးကိုတစ်ချိန်တည်းတွင်မထားပါနှင့်။ ဤချဉ်းကပ်နည်းသည်အထူးသဖြင့်ကြီးမားသောမှတ်တမ်းဖိုင်များနှင့်ဆက်ဆံရာတွင်အထူးအစီအစဉ်စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်နှင့်အစီအစဉ်စွမ်းဆောင်ရည်တိုးတက်စေရန်အတွက်ဤချဉ်းကပ်မှုကကျွန်ုပ်တို့အားကူညီနိုင်သည်။

ဤနည်းအားဖြင့်သင်သည်ပိတ်ဆို့ခြင်းဖြင့်ပိတ်ဆို့ခြင်းမှတစ်ဆင့်ဒေတာဖတ်ရှုခြင်းနှင့်လုပ်ငန်းများကိုလုပ်ဆောင်မှုများနှင့်လုပ်ငန်းများလုပ်ဆောင်မှုများကိုအလွယ်တကူကိုင်တွယ်နိုင်သည်။