Curl ဆိုသည်မှာကွန်ယက်အရင်းအမြစ်များအတွက်ဖိုင်များအတွက် PHP အတွက် PHP ကိုအသုံးပြုသောအခါ PHP ကိုအသုံးပြုသောအခါအသုံးအများဆုံး tools များထဲမှတစ်ခုဖြစ်သည်။ ယေဘုယျအားဖြင့်ပြောရလျှင်ကျွန်ုပ်တို့သည် curl_exec () ကို အသုံးပြုသည်။ သို့သော်အချို့သောအဆင့်မြင့်မြင်ကွင်းများတွင်သင်စောင့်ဆိုင်းရန်လိုပါကသင် curl_pause () function ကိုသုံးရမည်။
ဤဆောင်းပါးသည်ပိုမိုရှုပ်ထွေးသော download control အောင်မြင်ရန်အခြားဆံပင်ကောက်ဖူးခြင်းများနှင့်အခြားဆံပင်ကောက်ယူမှုများကိုပေါင်းစပ်ရန်နှင့်အခြား ဆံပင်ကောက်ကောက်ကို ပေါင်းစပ်ရန်နှင့်အခြားဆံပင်ကောက်ကောက်များကိုပေါင်းစပ်ရန်နှင့်အခြားဆံပင်ကောက်ကောက်ကိုပေါင်းစပ်ရန်။
curl_pause () သည် 0 င်ရောက်ခြင်း (သို့) ပြန်လည်ပေးပို့ခြင်း (သို့) ပေးပို့ခြင်း (ရေးရန်) (ရေးရန်) (ရေးရန်) (ရေးရန်) (MRAND) ကိုပြန်လည်ပေးပို့နိုင်သည့်ကူးစက်ခြင်းသို့မဟုတ်ပြန်လည်ပေးပို့နိုင်သည့်ကူးစက်ခြင်းလုပ်ငန်းလည်ပတ်မှုများကိုထိန်းချုပ်ရန် Libcurl မှပေးသော function တစ်ခုဖြစ်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။
PHP တွင်ဤလုပ်ဆောင်မှု၏ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-title function_ invoke__">curl_pause</span></span><span>(CurlHandle </span><span><span class="hljs-variable">$handle</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$bitmask</span></span><span>): </span><span><span class="hljs-keyword">int</span></span><span>
</span></span>
$ bitmask parameter သည်အောက်ပါအရေအတွက်ကိုပေါင်းစပ်နိုင်သည်။
curlpausausa_recv : အချက်အလက်များကို reception ည့်ခံမှုကိုခေတ္တရပ်ပါ
curlpousausause_send : ဒေတာကိုပို့ခြင်း
curlpiusalausause_all : Sending နှင့်လက်ခံခြင်း
curlplouse_cont : ဆက်လက်ထုတ်လွှင့်ခြင်း (ခေတ္တရပ်တန့်)
Return Value သည်အမျိုးအစား curlcode ၏ status code code တစ်ခုဖြစ်သည်။ များသောအားဖြင့် 0 သည်အောင်မြင်မှုကိုဖော်ပြသည်။
bandwidth, user operations or server respons ်ဌာန်းချက်များကို အခြေခံ. ဒေါင်းလုပ်လုပ်ခြင်းကိုသင် dynamure downomature လုပ်ရန်လိုအပ်နိုင်သည်။ ဥပမာအားဖြင့် bandwidth တင်းကျပ်သောအခါ download လုပ်ခြင်းလုပ်ငန်းကိုခေတ္တဆိုင်းငံ့ထားခြင်းနှင့်နောက်ပိုင်းတွင်ပြန်လည်စတင်နိုင်သည်။
<span><span><span class="hljs-variable">$ch</span></span><span> = </span><span><span class="hljs-title function_ invoke__">curl_init</span></span><span>(</span><span><span class="hljs-string">"https://example.com/largefile.zip"</span></span><span>);
</span><span><span class="hljs-variable">$fp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-string">"largefile.zip"</span></span><span>, </span><span><span class="hljs-string">"w"</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">curl_setopt</span></span><span>(</span><span><span class="hljs-variable">$ch</span></span><span>, CURLOPT_FILE, </span><span><span class="hljs-variable">$fp</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">curl_setopt</span></span><span>(</span><span><span class="hljs-variable">$ch</span></span><span>, CURLOPT_WRITEFUNCTION, function(</span><span><span class="hljs-variable">$ch</span></span><span>, </span><span><span class="hljs-variable">$data</span></span><span>) </span><span><span class="hljs-keyword">use</span></span><span> (&$</span><span><span class="hljs-title">paused</span></span><span>) {
</span><span><span class="hljs-title">static</span></span><span> $</span><span><span class="hljs-title">total</span></span><span> = 0;
</span><span><span class="hljs-variable">$len</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$data</span></span><span>);
</span><span><span class="hljs-variable">$total</span></span><span> += </span><span><span class="hljs-variable">$len</span></span><span>;
</span><span><span class="hljs-comment">// အာရုံဖော်ခြင်း:ဒေါင်းလုပ်လုပ်ပါ1MBခဏရပ်ရုံ</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$total</span></span><span> >= </span><span><span class="hljs-number">1024</span></span><span> * </span><span><span class="hljs-number">1024</span></span><span> && !</span><span><span class="hljs-variable">$paused</span></span><span>) {
</span><span><span class="hljs-title function_ invoke__">curl_pause</span></span><span>(</span><span><span class="hljs-variable">$ch</span></span><span>, CURLPAUSE_RECV);
</span><span><span class="hljs-variable">$paused</span></span><span> = </span><span><span class="hljs-literal">true</span></span><span>;
}
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$len</span></span><span>;
});
</span><span><span class="hljs-title function_ invoke__">curl_exec</span></span><span>(</span><span><span class="hljs-variable">$ch</span></span><span>);
</span><span><span class="hljs-comment">// နောက်မှပြန်လည်ကောင်းမွန်</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$paused</span></span><span>) {
</span><span><span class="hljs-title function_ invoke__">sleep</span></span><span>(</span><span><span class="hljs-number">5</span></span><span>); </span><span><span class="hljs-comment">// ကျနော်တို့စောင့်ဆိုင်းဆိုပါစို့5စက်ဏန့်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">curl_pause</span></span><span>(</span><span><span class="hljs-variable">$ch</span></span><span>, CURLPAUSE_CONT);
</span><span><span class="hljs-title function_ invoke__">curl_exec</span></span><span>(</span><span><span class="hljs-variable">$ch</span></span><span>);
}
</span><span><span class="hljs-title function_ invoke__">curl_close</span></span><span>(</span><span><span class="hljs-variable">$ch</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">fclose</span></span><span>(</span><span><span class="hljs-variable">$fp</span></span><span>);
</span></span>
curl_pulti_exec () သည် တစ်ပြိုင်တည်းတောင်းဆိုမှုများကိုကိုင်တွယ်ရန် curl_multi_exec () ကို အသုံးပြုသည့်အခါ ပို. အရေးကြီးသည်။ အခြားတောင်းဆိုမှုများကိုထိခိုက်ခြင်းမရှိဘဲလက်ကိုင်ကိုတိကျစွာခေတ္တရပ်နားနိုင်သည်။
<span><span><span class="hljs-variable">$mh</span></span><span> = </span><span><span class="hljs-title function_ invoke__">curl_multi_init</span></span><span>();
</span><span><span class="hljs-variable">$chs</span></span><span> = [];
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$urls</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$url</span></span><span>) {
</span><span><span class="hljs-variable">$ch</span></span><span> = </span><span><span class="hljs-title function_ invoke__">curl_init</span></span><span>(</span><span><span class="hljs-variable">$url</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">curl_setopt</span></span><span>(</span><span><span class="hljs-variable">$ch</span></span><span>, CURLOPT_RETURNTRANSFER, </span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">curl_multi_add_handle</span></span><span>(</span><span><span class="hljs-variable">$mh</span></span><span>, </span><span><span class="hljs-variable">$ch</span></span><span>);
</span><span><span class="hljs-variable">$chs</span></span><span>[] = </span><span><span class="hljs-variable">$ch</span></span><span>;
}
</span><span><span class="hljs-comment">// အချို့သောအခြေအနေများအောက်တွင်တောင်းဆိုမှုကိုခေတ္တရပ်ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">curl_pause</span></span><span>(</span><span><span class="hljs-variable">$chs</span></span><span>[</span><span><span class="hljs-number">0</span></span><span>], CURLPAUSE_RECV);
</span><span><span class="hljs-comment">// ပြန်လည်ထူထောင်တဲ့အခါ:</span></span><span>
</span><span><span class="hljs-title function_ invoke__">curl_pause</span></span><span>(</span><span><span class="hljs-variable">$chs</span></span><span>[</span><span><span class="hljs-number">0</span></span><span>], CURLPAUSE_CONT);
</span></span>
ဆာဗာများသို့မဟုတ်သယ်ယူပို့ဆောင်ရေးအားလုံးသည် Pause Recovery ကိုပံ့ပိုးမှုမရှိသေးပါ,
သင် curlopt_Returnturtransfer ကို သုံးပါက curl_exec () ကို အသုံးမပြုပါ။
ခေတ္တနားပြီးနောက်ဒေတာသည်ကြားခံတွင်ရှိနေဆဲဖြစ်သော်လည်း WritFunction Callback ကိုတစ်ကြိမ်ခေါ်ဆိုခံရသည့်အခါသင်မြင်တွေ့ရဆဲဖြစ်နိုင်သည်။
curl_pyause () PHP ကို HTTP Transmission Bechning အတွက်သင့်လျော်သော http protretch beeter အတွက်သင့်တော်သော php ကိုပံ့ပိုးပေးသည်။ အထူးသ ဖြင့် ဖိုင်ကူးယူခြင်း, မီဒီယာပြုပြင်ခြင်း,
၎င်းကိုအသုံးပြုသောအခါ transmission status ကိုပိုမိုကောင်းမွန်စွာစီမံရန် WriteFuntefunction Callback နှင့် Curl_multi ပတ်ဝန်းကျင်ကိုပေါင်းစပ်သင့်သည်။ ၎င်းကိုကျွမ်းကျင်သည်သင်၏ network transmission logic မကြုံစဖူးပြောင်းလွယ်ပြင်လွယ်နှင့်ထိန်းချုပ်မှုကိုပေးနိုင်သည်။