လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> curl_init နှင့်အတူဒေသအလိုက်ဖိုင်များကိုဒေါင်းလုတ် လုပ်. သိမ်းဆည်းရန်နှင့်သိမ်းဆည်းရန်အပြည့်အဝနည်းလမ်းတစ်ခု

curl_init နှင့်အတူဒေသအလိုက်ဖိုင်များကိုဒေါင်းလုတ် လုပ်. သိမ်းဆည်းရန်နှင့်သိမ်းဆည်းရန်အပြည့်အဝနည်းလမ်းတစ်ခု

gitbox 2025-06-15

PHP တွင် ဆံပင်ကောက်ကောက် သည်အလွန်အစွမ်းထက်။ အသုံးများသောကိရိယာတစ်ခုဖြစ်သည်။ curl_init () function ကိုအသုံးပြုခြင်းကိုကျွန်ုပ်တို့ဖိုင်ကိုအလွယ်တကူဒေါင်းလုတ် လုပ်. ဒေသအလိုက်သိမ်းဆည်းနိုင်သည်။ ယနေ့ကျွန်ုပ်တို့သည်ဖိုင်များကိုဒေါင်းလုပ်လုပ်ရန် Curl_init ကို မည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြရန်နှင့်လုပ်ငန်းစဉ်ကိုပိုမိုနားလည်ရန်အထောက်အကူပြုရန်စူပါလက်တွေ့ကျမူနာတစ်ခုပေးရန်ကျွန်ုပ်တို့အသေးစိတ်မိတ်ဆက်ပါမည်။

အဆင့် 1: curl session ကိုစတင်ပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည် curl_init () ကို သုံးရန်လိုသော curl session တစ်ခုစတင်ရန်အတွက်အသုံးပြုရန်လိုအပ်သည်။ ဒီလက်ကိုင်နောက်ဆက်တွဲဆံပင်ကောက်ကောက် operations များအတွက်အသုံးပြုသည်။

 $ch = curl_init();

အဆင့် 2: curl options ကို set

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 စက်ဏန့်

အဆင့် 3: Curl တောင်းဆိုမှုကိုတောင်းဆိုခြင်းနှင့်ဖိုင်အကြောင်းအရာများကိုရယူပါ

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);
}

အဆင့် 4: curl session ကိုပိတ်ပါ

စစ်ဆင်ရေးပြီးစီးပြီးနောက် 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;
?>

ကုဒ်အဓိပ္ပာယ်ဖွင့်ဆိုချက်

  1. Initialization နှင့် Configuration : ကျွန်ုပ်တို့သည် curl_init ကို သုံး. curl_init () ကို အသုံးပြု. download URL ကို set up လုပ်ရန်နှင့် download URL ကိုသတ်မှတ်ရန်။ Curl_setopt () () ဖိုင် URL အပါအ 0 င်အရေးကြီးသောရွေးချယ်စရာများကိုသတ်မှတ်သည်။

  2. Execute တောင်းဆိုချက် - curl_exec () ကိုသုံးပါ။ အကယ်. download အောင်မြင်လျှင်ဖိုင်အကြောင်းအရာကို $ file_content variable သို့သိမ်းဆည်းလိမ့်မည်။

  3. အမှားကိုင်တွယ်ခြင်း - အမှားတစ်ခုက curl_errno () မှတဆင့်အမှားသတင်းအချက်အလက်များကို curl_errno () မှတဆင့်အမှားအချက်အလက်များကိုရယူနိုင်ပါသည်။

  4. Save file : download လုပ်ထားသောဖိုင်အကြောင်းအရာကို File_Propar_contents () မှတဆင့်သတ်မှတ်ထားသောလမ်းကြောင်းသို့သိမ်းဆည်းပါ။

  5. Close Session : နောက်ဆုံးတော့ curl_close () ကို curl_close () ကိုသုံးတယ်။

အကျဉ်းချုပ်

အထက်ဖော်ပြပါအချက်သည် curl_init () ကို download လုပ်ရန်နှင့်ဒေသအလိုက်သိမ်းဆည်းရန် curl_init () ကိုအသုံးပြုရန်နည်းလမ်းဖြစ်သည်။ ၎င်းသည်ရိုးရှင်းသောဖိုင်ကူးယူမှုများသို့မဟုတ်ကိုင်တွယ်ပုံကိုကိုင်တွယ် ပုံ , ဆံပင်ကောက်ကောက်ကိုညှိခြင်းအားဖြင့်သင်သည်ရှုပ်ထွေးသော logins များကဲ့သို့သောပိုမိုရှုပ်ထွေးသောလိုအပ်ချက်များရရှိနိုင်ပါသည်။

ဒီဥပမာကမင်းကိုကူညီနိုင်မယ်လို့မျှော်လင့်ပါတယ်။