လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> file_get_contents သုံး. ဝေးလံခေါင်သီသော URL မှဝက်ဘ်ဆိုက်များကိုမည်သို့ရယူရမည်နည်း။ ဆောင်းပါးတစ်ပုဒ်ကိုနားလည်ပါ

file_get_contents သုံး. ဝေးလံခေါင်သီသော URL မှဝက်ဘ်ဆိုက်များကိုမည်သို့ရယူရမည်နည်း။ ဆောင်းပါးတစ်ပုဒ်ကိုနားလည်ပါ

gitbox 2025-06-09

1 ။ File_Get_contents ဆိုတာဘာလဲ။

File_get_contents သည်ဖိုင်တစ်ခုလုံးကိုကြိုးတစ်ချောင်းသို့ဖတ်ရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ဒေသဖွံ့ကီဖိုင်များကိုကိုင်တွယ်သည့်အခါအလွန်အဆင်ပြေသော်လည်း Remote HTTP / HTTPS အရင်းအမြစ်များနှင့်လည်းအလုပ်လုပ်သည်။

Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = 0 [, int $maxlen ]]]] )

$ filename သည် ဖိုင်လမ်းကြောင်းသို့မဟုတ် URL တစ်ခုဖြစ်နိုင်သည်။


2 ။ အခြေခံအကျဆုံးအသုံးပြုမှု - ဝက်ဘ်စာမျက်နှာအကြောင်းအရာကိုရယူပါ

အရိုးရှင်းဆုံးပုံသက်သေကိုအရင်ကြည့်ရှုပါ, ဝဘ်စာမျက်နှာတစ်ခု၏ HTML အကြောင်းအရာများကိုတိုက်ရိုက်ရယူကြပါစို့။

 <?php
$url = "https://gitbox.net/sample-page.html";
$content = file_get_contents($url);
echo $content;
?>

ဤဥပမာတွင် file_get_contents များသည် http piet ကိုတောင်းဆိုခြင်း, https:/gitbox.net/sampage -page.html ၏ပါဝင်မှုကိုရယူပါ ထို့နောက် ECHO သည် Web Page ၏ HTML ကိုထုတ်ပေးသည်။


3 ။ Custom header ကိုထည့်ပါ။ stream_context_create ကို သုံးပါ

အချို့သောဝက်ဘ်ဆိုက်များသည် User-agent , defer သူ စသည်တို့ကဲ့သို့သောတိကျသောတောင်းဆိုမှုခေါင်းစဉ်များလိုအပ်သည်။ ကျွန်ုပ်တို့သည် stream_context_create သုံး. အခြေအနေကိုဖန်တီးနိုင်သည်။

 <?php
$url = "https://gitbox.net/api/data.json";
$options = [
    "http" => [
        "header" => "User-Agent: PHP\r\n"
    ]
];
$context = stream_context_create($options);
$content = file_get_contents($url, false, $context);
echo $content;
?>

ဤကုဒ်တွင်ကျွန်ုပ်တို့သည် browser တစ်ခုတောင်းဆိုမှုကိုတုပကာစက်တင်ဘာဆာဗာမှတောင်းဆိုမှုကိုငြင်းပယ်ခြင်းမှရှောင်ရှားရန် အသုံးပြုသူအေးဂျင့်ကို သတ်မှတ်သည်။


4 ။ HTTPS လက်မှတ်အတည်ပြုချက်ပြ issues နာများကိုကိုင်တွယ်ပါ

HTTPS အရင်းအမြစ်များကို File_Get_contents ကို သုံး. တောင်းဆိုသည့်အခါ SSL Certificate အတည်ပြုခြင်းပျက်ကွက်ခြင်းများကိုသင်ကြုံတွေ့ရနိုင်သည်။ ယခုအချိန်တွင်အခြေအနေကိုပြင်ဆင်ခြင်းဖြင့်အတည်ပြုရန်အတည်ပြုချက်ကိုပိတ်ထားနိုင်သည် (ထုတ်လုပ်မှုပတ်ဝန်းကျင်အတွက်အကြံပြုသည်မဟုတ်)

 <?php
$url = "https://gitbox.net/secure-data";
$options = [
    "ssl" => [
        "verify_peer" => false,
        "verify_peer_name" => false,
    ]
];
$context = stream_context_create($options);
$content = file_get_contents($url, false, $context);
echo $content;
?>

ဤနည်းလမ်းသည် debugging သို့မဟုတ် testing ပတ် 0 န်းကျင်အတွက်သင့်တော်သည်။ ကျေးဇူးပြုပြီးမှန်ကန်သောလက်မှတ်ကို သုံး. ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်အတည်ပြုရန်။


5 ။ စာဖတ်ခြင်းပျက်ကွက်မှုကိုဘယ်လိုကိုင်တွယ်ရမလဲ

URL သည်မမှန်ကန်ပါကသို့မဟုတ်တောင်းဆိုမှုပျက်ကွက်ပါက File_Get_contents သည် မှားယွင်း လာလိမ့်မည်။ @ error suppretion spression spression ဇာတ်ကောင် ,

 <?php
$url = "https://gitbox.net/invalid-page";
$content = @file_get_contents($url);
if ($content === false) {
    echo "တောင်းဆိုမှုပျက်ကွက်,အကြောင်းအရာကိုရယူနိုင်ခြင်းမရှိပါ。";
} else {
    echo $content;
}
?>

ထို့အပြင်သင်သည်အမှားအယွင်းများအတွက်လွယ်ကူသောအကြောင်းပြချက်များရရှိရန်အတွက် အမှားအယွင်းများကို သုံးနိုင်သည်။


6 ။ ဆံပင်ကောက်ကောက်နှင့်နှိုင်းယှဉ်

File_get_Contents သည်အသုံးပြုရလွယ်ကူသော်လည်း Curl သည် HTTP တောင်းဆိုမှုများကိုကိုင်တွယ်သောအခါ HTTP တောင်းဆိုမှုများကိုကိုင်တွယ်သောအခါပိုမိုအားကောင်းသည့်လုပ်ဆောင်မှုများကိုပေးသည် (ဥပမာ, ကွတ်ကီးများ, အကယ်. သင့်တွင်တောင်းဆိုမှုအပြုအမူများကိုပိုမိုထိန်းချုပ်နိုင်ပါကဆံပင်ကောက်ကောက်ကိုအသုံးပြုရန်အကြံပြုပါသည်။ ရိုးရိုးရှင်းရှင်းတောင်းဆိုမှုများအတွက် File_get_contents သည်အလွန်ကောင်းမွန်သည်။


7 ။ မကြာခဏမေးလေ့ရှိသောမေးခွန်းများအကျဉ်းချုပ်

  1. Allow_URL_FOPEN သည်မှားသည်။ ၎င်းသည် URL ကိုဝင်ရောက်ကြည့်ရှုရန်ဖြစ်ပေါ်စေသည်။
    ဖြေရှင်းချက် - PHP.INI ဖိုင်ကိုပြုပြင်ရန်နှင့်ဤရွေးချယ်မှုကိုဖွင့်ပါ။

     allow_url_fopen = On
    
  2. အမှိုက်သရိုက်ပေါ်လာ?
    Target Page ကို Encoding နှင့်လိုအပ်ပါက encoding ကိုပြောင်းပါ။

     $content = mb_convert_encoding($content, 'UTF-8', 'GBK');
    
  3. https ကိုမသုံးနိုင်ဘူးလား။
    opensssl extension ကိုသေချာအောင်လုပ်ပါ။

     extension=openssl