လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP curl_multi_getcontent () function ကိုအသေးစိတ်ရှင်းပြချက် - curl sessions ၏ပြန်လာသောအကြောင်းအရာကိုရယူပါ

PHP curl_multi_getcontent () function ကိုအသေးစိတ်ရှင်းပြချက် - curl sessions ၏ပြန်လာသောအကြောင်းအရာကိုရယူပါ

M66 2025-10-16

php curl_multi_getcontent () function နိဒါန်း

နေ့စဉ် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ပရိုဂရမ်မာများသည် API interfaces များကိုတောင်းခံခြင်း, ဝေးလံခေါင်သီသောအကြောင်းအရာများရယူခြင်းစသဖြင့်အခြားဆာဗာများနှင့်အပြန်အလှန်ဆက်သွယ်ရန်လိုအပ်သည်။ currl (client url) extension library သည်ဤကွန်ယက်ဆက်သွယ်ရေးလုပ်ငန်းများကိုရိုးရှင်းစေရန်အစွမ်းထက်သောကိရိယာများကိုပေးသည်။ ၎င်းတို့အနက် curl_multi_getcontent () function သည် Multi-session mode တွင်ကွပ်မျက်ခံရသော curl တောင်းဆိုမှုများ၏ရလဒ်များကိုရရှိရန်အသုံးပြုသည်။

လုပ်ဆောင်ချက်အကျိုးသက်ရောက်မှု

curl_multi_getcontent () function ၏အဓိကလုပ်ဆောင်ချက်မှာ curl_multi_init မှဖန်တီးထားသောဆံပင်ကောက်ကောက်များမှထွက်ပေါက်တစ်ခုစီ၏ပြန်လာသည့်အကြောင်းအရာများကိုထုတ်ယူရန်ဖြစ်သည်။ curl_multi_exec () ကို တစ်ချိန်တည်းတွင်လုပ်ဆောင်ရန်အတွက်ကျွန်ုပ်တို့အသုံးပြုသောအခါတစ်ချိန်တည်းတွင်တောင်းဆိုမှုများကိုအကောင်အထည်ဖော်ရန်အတွက်ကျွန်ုပ်တို့သည်တောင်းဆိုမှုတစ်ခုစီ၏တုန့်ပြန်မှုရလဒ်ရရှိရန်ဤလုပ်ဆောင်ချက်ကိုကျွန်ုပ်တို့ခေါ်ဆိုနိုင်သည်။ အသုံးပြုမှုသည်အလွန်ရိုးရှင်းပါသည်။

curl_multi_getcontent () အသုံးပြုမှုဥပမာ

 // ဖြစ်ပေါ်လာခြင်းcURLရုံးထိုင်အချိန်ကာလ
$ch1 = curl_init('http://www.example.com/api1');
$ch2 = curl_init('http://www.example.com/api2');

// အသစ်တစ်ခုဖန်တီးပါcURLမျိုးစုံလက်ကိုင်
$mh = curl_multi_init();

// 将两个ရုံးထိုင်အချိန်ကာလ添加到မျိုးစုံလက်ကိုင်中
curl_multi_add_handle($mh, $ch1);
curl_multi_add_handle($mh, $ch2);

// 执行မျိုးစုံလက်ကိုင်的cURLရုံးထိုင်အချိန်ကာလ
do {
    $status = curl_multi_exec($mh, $active);
} while ($status === CURLM_CALL_MULTI_PERFORM || $active);

// 循环获取每个ရုံးထိုင်အချိန်ကာလ的内容
$contents = array();
foreach([$ch1, $ch2] as $ch) {
    $content = curl_multi_getcontent($ch);
    $contents[] = $content;
}

// 关闭မျိုးစုံလက်ကိုင်的cURLရုံးထိုင်အချိန်ကာလ
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);

// ရရှိသောအကြောင်းအရာ output ကို
var_dump($contents);

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

အထက်ပါဥပမာတွင် curl_init () မှတ ဆင့်လွတ်လပ်သောဆံပင်ကောက်ကောက်တောင်းဆိုမှုများကိုပထမ ဦး ဆုံးစတင်သည်။ တောင်းဆိုမှုများကို curl_multi_exec () function ကို ဖြတ်. တစ်ပြိုင်နက်တည်းကွပ်မျက်ခံရနိုင်သည်။

ကွပ်မျက်ပြီးနောက် curl_multi_getcontent () function ကို session တစ်ခုစီ၏တုန့်ပြန်မှုအကြောင်းအရာများကိုရယူရန်နှင့်ရလဒ်များကို array သို့သိမ်းဆည်းရန်အသုံးပြုသည်။ နောက်ဆုံးအနေဖြင့်အစည်းအဝေးများအားလုံးကိုပိတ်ပြီးအရင်းအမြစ်များကို curl_multi_remove_handle () နှင့် curl_mamulti_close မှတဆင့်ဖြန့်ချိပါ။

အသုံးပြုရန်ကြိုတင်ကာကွယ်မှုများ

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

အကျဉ်းချုပ်

curl_multi_getcontent () function သည်တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုကိုင်တွယ်သောအခါအလွန်အသုံးဝင်သည်။ developer များသည် APIs မျိုးစုံကိုတစ်ချိန်တည်းတွင်တောင်းဆိုရန်နှင့်ရလဒ်များကိုရယူရန်အတွက်ရလဒ်များရရှိစေရန်ကူညီနိုင်သည်။ ၎င်းသည်တစ်ပြိုင်နက်တည်း fearturrent interface ခေါ်ဆိုမှုများနှင့်စုစုပေါင်းအချက်အလက်ဖမ်းယူခြင်းကဲ့သို့သောဖြစ်ရပ်များတွင်ကျွမ်းကျင်မှုရှိသည့်လက်တွေ့ကျသောလုပ်ဆောင်ချက်ဖြစ်သည်။

မကြာသေးမီ ဆောင်းပါးများ