PHP တွင် ဆံပင်ကောက်ကောက် သည်အလွန်အစွမ်းထက်။ အသုံးများသောကိရိယာတစ်ခုဖြစ်သည်။ curl_init () function ကိုအသုံးပြုခြင်းကိုကျွန်ုပ်တို့ဖိုင်ကိုအလွယ်တကူဒေါင်းလုတ် လုပ်. ဒေသအလိုက်သိမ်းဆည်းနိုင်သည်။ ယနေ့ကျွန်ုပ်တို့သည်ဖိုင်များကိုဒေါင်းလုပ်လုပ်ရန် Curl_init ကို မည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြရန်နှင့်လုပ်ငန်းစဉ်ကိုပိုမိုနားလည်ရန်အထောက်အကူပြုရန်စူပါလက်တွေ့ကျမူနာတစ်ခုပေးရန်ကျွန်ုပ်တို့အသေးစိတ်မိတ်ဆက်ပါမည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် curl_init () ကို သုံးရန်လိုသော curl session တစ်ခုစတင်ရန်အတွက်အသုံးပြုရန်လိုအပ်သည်။ ဒီလက်ကိုင်နောက်ဆက်တွဲဆံပင်ကောက်ကောက် operations များအတွက်အသုံးပြုသည်။
$ch = curl_init();
session ကိုအောင်မြင်စွာစတင်လေ့လာပြီးနောက်တွင်ကျွန်ုပ်တို့သည်အမျိုးမျိုးသောရွေးချယ်စရာများကိုသတ်မှတ်ရန် Curl_settop () ကို အသုံးပြုရန်လိုအပ်သည်။ အရေးအကြီးဆုံးသောရွေးချယ်စရာများမှာ -
curlopt_url : download file ၏ URL လိပ်စာကိုသတ်မှတ်သည်။
curlopt_ruturntransfer : ပြန်လာတန်ဖိုးကိုသတ်မှတ်ပါ။ ဖိုင်ကိုဒေသအလိုက်သိမ်းဆည်းချင်တယ်, ဒါကြောင့်အဲဒါကို သေချာအောင် လုပ်ဖို့လိုတယ်။
curlopt_followlowlocation : redirects ကိုအလိုအလျောက်လိုက်နာရန်ဆံပင်ကောက်ကောက်ကိုခွင့်ပြုသည်။
curlopt_Timeout : တောင်းဆိုမှုကိုရှောင်ရှားရန်အမြင့်ဆုံးကွပ်မျက်အချိန်ကိုသတ်မှတ်သည်။
ကျွန်ုပ်တို့ download လုပ်လိုသည့်ဖိုင်၏ URL ကိုယူဆခြင်းသည် https://gitbox.net/somefile.zip , ဤနေရာတွင်ဤရွေးချယ်စရာများကိုသတ်မှတ်ခြင်း၏ဥပမာတစ်ခုဖြစ်သည်။
$url = "https://gitbox.net/somefile.zip";
$destination = "somefile.zip"; // ဒေသခံကယ်တင်ရန်လမ်းကြောင်း
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30); // တောင်းဆိုမှုအချိန်ကိုသတ်မှတ်ပါ 30 စက်ဏန့်
Curl option ကို setting လုပ်ပြီးနောက်ကျွန်ုပ်တို့သည်တောင်းဆိုမှုကို execute လုပ်ရန် curl_exec () ကို သုံးနိုင်သည်။ ဤလုပ်ဆောင်ချက်သည်ဆာဗာ၏တုန့်ပြန်မှုအကြောင်းအရာများကိုပြန်ပို့လိမ့်မည်။ ဤအကြောင်းအရာကို local file တစ်ခုသို့ကျွန်ုပ်တို့သိမ်းဆည်းသည်။
$file_content = curl_exec($ch);
if(curl_errno($ch)) {
echo 'Curl error: ' . curl_error($ch);
} else {
// ဒေသအလိုက် download လုပ်ထားသောဖိုင်အကြောင်းအရာကိုသိမ်းဆည်းပါ
file_put_contents($destination, $file_content);
}
စစ်ဆင်ရေးပြီးစီးပြီးနောက် Curl_Close () ကို အသုံးပြု. လက်ရှိဆံပင်ကောက်ကောက် session ကိုပိတ်ရန်နှင့်အရင်းအမြစ်များကိုဖြန့်ချိရန်အသုံးပြုသင့်သည်။
curl_close($ch);
အထက်ပါခြေလှမ်းများကိုအတူတကွပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ဖိုင်များကို curl မှတဆင့်ဖိုင်များကိုဒေါင်းလုတ် လုပ်. ဒေသအလိုက်သိမ်းဆည်းရန်အောက်ပါပြီးပြည့်စုံသော PHP script ကိုကျွန်ုပ်တို့ရရှိသည်။
<?php
// ဖြစ်ပေါ်လာခြင်း cURL ရုံးထိုင်အချိန်ကာလ
$ch = curl_init();
// download ဖိုင်ကို set up URL 和ဒေသခံကယ်တင်ရန်လမ်းကြောင်း
$url = "https://gitbox.net/somefile.zip";
$destination = "somefile.zip";
// ကွက်ကွက်ကေျာင်း cURL ရွေးချယ်စရာများ
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30); // တောင်းဆိုမှုတောင်းဆိုခြင်း 30 စက်ဏန့်
// ကရိယာတန်းဆာ cURL ဖိုင်အကြောင်းအရာကိုတောင်းဆိုခြင်းနှင့်ရယူပါ
$file_content = curl_exec($ch);
// အမှားကိုင်တွယ်
if(curl_errno($ch)) {
echo 'Curl error: ' . curl_error($ch);
} else {
// ဒေသအလိုက်ဖိုင်ကိုသိမ်းဆည်းပါ
file_put_contents($destination, $file_content);
}
// ရုပ်သိမ်းခြင်း cURL ရုံးထိုင်အချိန်ကာလ
curl_close($ch);
echo "အောင်မြင်စွာကူးယူပါ,ကယ်တင်ခြင်းသို့ရောက်သည် " . $destination;
?>
Initialization နှင့် Configuration : ကျွန်ုပ်တို့သည် curl_init ကို သုံး. curl_init () ကို အသုံးပြု. download URL ကို set up လုပ်ရန်နှင့် download URL ကိုသတ်မှတ်ရန်။ Curl_setopt () () ဖိုင် URL အပါအ 0 င်အရေးကြီးသောရွေးချယ်စရာများကိုသတ်မှတ်သည်။
Execute တောင်းဆိုချက် - curl_exec () ကိုသုံးပါ။ အကယ်. download အောင်မြင်လျှင်ဖိုင်အကြောင်းအရာကို $ file_content variable သို့သိမ်းဆည်းလိမ့်မည်။
အမှားကိုင်တွယ်ခြင်း - အမှားတစ်ခုက curl_errno () မှတဆင့်အမှားသတင်းအချက်အလက်များကို curl_errno () မှတဆင့်အမှားအချက်အလက်များကိုရယူနိုင်ပါသည်။
Save file : download လုပ်ထားသောဖိုင်အကြောင်းအရာကို File_Propar_contents () မှတဆင့်သတ်မှတ်ထားသောလမ်းကြောင်းသို့သိမ်းဆည်းပါ။
Close Session : နောက်ဆုံးတော့ curl_close () ကို curl_close () ကိုသုံးတယ်။
အထက်ဖော်ပြပါအချက်သည် curl_init () ကို download လုပ်ရန်နှင့်ဒေသအလိုက်သိမ်းဆည်းရန် curl_init () ကိုအသုံးပြုရန်နည်းလမ်းဖြစ်သည်။ ၎င်းသည်ရိုးရှင်းသောဖိုင်ကူးယူမှုများသို့မဟုတ်ကိုင်တွယ်ပုံကိုကိုင်တွယ် ပုံ , ဆံပင်ကောက်ကောက်ကိုညှိခြင်းအားဖြင့်သင်သည်ရှုပ်ထွေးသော logins များကဲ့သို့သောပိုမိုရှုပ်ထွေးသောလိုအပ်ချက်များရရှိနိုင်ပါသည်။
ဒီဥပမာကမင်းကိုကူညီနိုင်မယ်လို့မျှော်လင့်ပါတယ်။