လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Safe Transmissions ကိုသေချာစေရန်ဖိုင်တင်ခြင်းသို့မဟုတ်လုပ်ဆောင်ခြင်းများကိုခေတ္တရပ်ဆိုင်းထားရန် curl_board function ကိုမည်သို့အသုံးပြုရမည်နည်း။

Safe Transmissions ကိုသေချာစေရန်ဖိုင်တင်ခြင်းသို့မဟုတ်လုပ်ဆောင်ခြင်းများကိုခေတ္တရပ်ဆိုင်းထားရန် curl_board function ကိုမည်သို့အသုံးပြုရမည်နည်း။

M66 2025-06-28

Network Data Transfer အတွက် PHP ကိုအသုံးပြုသောအခါ ဆံပင်ကောက်ကောက်သည် အလွန်များသောအားဖြင့်အင်အားကြီးမားသောကိရိယာတစ်ခုဖြစ်သည်။ ဖိုင်များကိုဝေးလံခေါင်သီသောဆာဗာသို့ကူးယူခြင်းသို့မဟုတ်ဝေးလံခေါင်သီသောဆာဗာမှဖိုင်များကိုဒေါင်းလုတ်လုပ်ခြင်းရှိမရှိ ကောက်ကောက်သည် ပြောင်းလွယ်ပြင်လွယ်ထိန်းချုပ်နည်းများကိုပေးနိုင်သည်။ ကွန်ယက်ကိုခေတ္တရပ်ဆိုင်းထားခြင်းကဲ့သို့သောအချို့သောစိတျပြသသည့်ယန္တရားများကိုဖြည့်စွက်ရန်သို့မဟုတ်သတ်သတ်မှတ်မှတ်လုံခြုံရေးဖြစ်ရပ်များကိုတုံ့ပြန်ရန်စောင့်ဆိုင်းခြင်း, PHP ၏ ဆံပင်ကောက်ယူခြင်း () function သည်ထိုကဲ့သို့သောစွမ်းရည်များကိုထောက်ပံ့ပေးသည်။

curl_pause ၏အခန်းကဏ်။ ()

ဆံပင်ကောက်ကောက်သို့မဟုတ်ဒေါင်းလုပ်လုပ်ထားသော data streams များကိုခေတ္တရပ်တန့်ရန် (သို့) ကိုယ်ရေးရာဇဝင်အကျဉ်းကိုခေတ္တရပ်နားရန် (သို့) ပြန်လည်စတင်ရန်အသုံးပြုသည်။ ၎င်းသည်ဒေတာထုတ်လွှင့်ခြင်းလုပ်ငန်းစဉ်များကိုထိန်းချုပ်ခြင်း, အရင်းအမြစ်များကိုချွေတာခြင်း,

function ကိုအဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုအောက်ပါအတိုင်းဖြစ်သည် -

 curl_pause(CurlHandle $handle, int $bitmask): int

$ လက်ကိုင်သည် curl session တစ်ခုနှင့် $ bitmas သည် ခေတ္တနားခြင်း / ပြန်လည်နာလန်ထူရန်အတွက်ထိန်းချုပ်မှုအလံဖြစ်သည်။

အသုံးပြုလေ့ရှိသော $ bitmask စက်ရုံများတွင် -

  • curlpausausa_recv : ဒေတာကိုလက်ခံရရှိရန်ခေတ္တရပ်နားပါ

  • curlpousausausa_send : ဒေတာကိုပို့ခြင်း (တင်ပါ) ခေတ္တနားခြင်း

  • curlpousausause_all : Upload လုပ်ပြီးဒေါင်းလုပ်လုပ်ပါ

  • curlplouse_cont : UPLOAD ကိုပြန်လည်ရယူပြီး download လုပ်ပါ

ဥပမာ - ဖိုင်များကိုဒေါင်းလုပ်လုပ်ပါ

အောက်ပါဥပမာသည်ဖိုင်ကိုဒေါင်းလုတ် လုပ်. အချိန်အတန်ကြာပြီးနောက်ပြန်လည်ထူထောင်နိုင်ပုံကိုပြသသည်။

 <?php
$ch = curl_init();

// ဒေါင်းလုပ်လုပ်ရန်ဖိုင်လိပ်စာကိုသတ်မှတ်ပါ
curl_setopt($ch, CURLOPT_URL, "https://m66.net/files/testfile.zip");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// ဒေတာကိုလက်ခံရရှိသည့်အခါ callback function ကိုသတ်မှတ်ပါ
curl_setopt($ch, CURLOPT_WRITEFUNCTION, function ($ch, $data) {
    static $totalReceived = 0;

    $totalReceived += strlen($data);
    echo "Received " . $totalReceived . " bytes\n";

    if ($totalReceived > 1024 * 100) { // ထက်ပိုပြီး download လုပ်ပါ100KBနောက်မှခေတ္တနားပါ
        echo "Pausing download...\n";
        curl_pause($ch, CURLPAUSE_RECV);
        sleep(5); // လုံခြုံရေးအတည်ပြုချက်သို့မဟုတ်အဖြစ်အပျက်တုံ့ပြန်မှုကိုစောင့်ဆိုင်းတုန့်ခြင်း
        echo "Resuming download...\n";
        curl_pause($ch, CURLPAUSE_CONT);
    }

    return strlen($data);
});

curl_exec($ch);
curl_close($ch);
?>

ဤဥပမာတွင် curlopt_writefunction ည့်ခံခြင်းဖြင့်ဒေတာ reception ည့်ခံရန် curl_pause ($ ch, curlpouse_recrecv) ကို Curl_ause ($ ch, currosause_recs_recv -beubcv) ကို Curl_ause ($ ch, curlpire_cont) ဖြင့်ပြန်လည်ပြင်ဆင်ပါ။

ဥပမာ - ဖိုင်များကိုတင်ပါ

အကယ်. ဖိုင်တစ်ခုကိုဆာဗာသို့တင်ရန်ပို့စ်ကိုအသုံးပြုပါက၎င်းကို upload အလယ်၌အလားတူနည်းဖြင့်ပင်ခေတ္တရပ်ဆိုင်းထားနိုင်သည်။

 <?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://m66.net/upload");
curl_setopt($ch, CURLOPT_POST, true);

// ဖိုင်ကိုဖွင့ ်. upload field ကိုသတ်မှတ်ပါ
$file = fopen("testfile.zip", "r");
curl_setopt($ch, CURLOPT_INFILE, $file);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize("testfile.zip"));

// ဒေတာများကိုတင်ခြင်းအတွက် callback function ကိုသတ်မှတ်ပါ
curl_setopt($ch, CURLOPT_READFUNCTION, function ($ch, $fd, $length) {
    static $uploaded = 0;
    $chunk = fread($fd, $length);
    $uploaded += strlen($chunk);

    if ($uploaded > 1024 * 50) { // ထက်ပိုပြီးတင်ပါ50KBနောက်မှခေတ္တနားပါ
        echo "Pausing upload...\n";
        curl_pause($ch, CURLPAUSE_SEND);
        sleep(3); // Simulated လုံခြုံရေးယန္တရားအစပျိုးသို့မဟုတ် authentication နှောင့်နှေးမှုများ
        echo "Resuming upload...\n";
        curl_pause($ch, CURLPAUSE_CONT);
    }

    return $chunk;
});

curl_exec($ch);
fclose($file);
curl_close($ch);
?>

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

ဂီယာလုံခြုံရေးတိုးမြှင့်

curl_pause ()) ၏စွမ်းရည်နှင့်ပေါင်းစပ်ခြင်း (), ဒေတာထုတ်လွှင့်ခြင်းလုပ်ငန်းစဉ်ကိုပိုမိုလုံခြုံစွာစီမံနိုင်သည်။

  1. authentication process နှင့်ပူးပေါင်းပါ 0 င်ပါ။

  2. ပုံမှန်မဟုတ်သောအသွားအလာနှင့်အတူကိုင်တွယ်ဖြေရှင်းခြင်း - သယံဇာတများစွန့်ပစ်ပစ္စည်းများကိုလျှော့ချရန်အတွက်တွေ့ရှိသောပုံမှန်မဟုတ်သောအပြုအမူသို့မဟုတ်ယာဉ်စည်းကမ်းများကိုခေတ္တရပ်နားပါ။

  3. တိုးတက်သောဂီယာ - တည်ငြိမ်မှုနှင့်အမှားသည်းခံမှုကိုတိုးတက်စေရန်ကြီးမားသောဖိုင်များကိုအသုတ်များဖြင့်သိမ်းဆည်းခြင်း, လွှဲပြောင်းခြင်းနှင့်စစ်ဆေးရန်။

အကျဉ်းချုပ်

Curl_Pouse () သည်အထူးသဖြင့်မြင့်မားသောရရှိနိုင်သည့်အချက်အလက်ထုတ်လွှင့်ခြင်းစနစ်များတည်ဆောက်သည့်အခါ, ခေတ္တရပ်တန့်ခြင်းနှင့်ပြန်လည်ထူထောင်ရေးလုပ်ငန်းများကိုပြောင်းလွယ်ပြင်လွယ်စွာပေါင်းစပ်ခြင်းဖြင့်ကျွန်ုပ်တို့သည်ပိုမိုလုံခြုံသောဂီယာထိန်းချုပ်မှုကိုအောင်မြင်စွာမရရှိနိုင်ပါ, သို့သော်အရင်းအမြစ်အသုံးပြုမှုကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။ ဤအင်္ဂါရပ်ကိုကျွမ်းကျင်သော PHP အစီအစဉ်များကိုရှုပ်ထွေးသောကွန်ယက်ပတ်ဝန်းကျင်နှင့်ရင်ဆိုင်နေရသည့်အခါစိန်ခေါ်မှုများကိုပိုမိုအေးဆေးစွာတုန့်ပြန်နိုင်သည်။