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 တစ်ခုဖြစ်နိုင်သည်။
အရိုးရှင်းဆုံးပုံသက်သေကိုအရင်ကြည့်ရှုပါ, ဝဘ်စာမျက်နှာတစ်ခု၏ 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 ကိုထုတ်ပေးသည်။
အချို့သောဝက်ဘ်ဆိုက်များသည် 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 တစ်ခုတောင်းဆိုမှုကိုတုပကာစက်တင်ဘာဆာဗာမှတောင်းဆိုမှုကိုငြင်းပယ်ခြင်းမှရှောင်ရှားရန် အသုံးပြုသူအေးဂျင့်ကို သတ်မှတ်သည်။
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 န်းကျင်တွင်အတည်ပြုရန်။
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;
}
?>
ထို့အပြင်သင်သည်အမှားအယွင်းများအတွက်လွယ်ကူသောအကြောင်းပြချက်များရရှိရန်အတွက် အမှားအယွင်းများကို သုံးနိုင်သည်။
File_get_Contents သည်အသုံးပြုရလွယ်ကူသော်လည်း Curl သည် HTTP တောင်းဆိုမှုများကိုကိုင်တွယ်သောအခါ HTTP တောင်းဆိုမှုများကိုကိုင်တွယ်သောအခါပိုမိုအားကောင်းသည့်လုပ်ဆောင်မှုများကိုပေးသည် (ဥပမာ, ကွတ်ကီးများ, အကယ်. သင့်တွင်တောင်းဆိုမှုအပြုအမူများကိုပိုမိုထိန်းချုပ်နိုင်ပါကဆံပင်ကောက်ကောက်ကိုအသုံးပြုရန်အကြံပြုပါသည်။ ရိုးရိုးရှင်းရှင်းတောင်းဆိုမှုများအတွက် File_get_contents သည်အလွန်ကောင်းမွန်သည်။
Allow_URL_FOPEN သည်မှားသည်။ ၎င်းသည် URL ကိုဝင်ရောက်ကြည့်ရှုရန်ဖြစ်ပေါ်စေသည်။
ဖြေရှင်းချက် - PHP.INI ဖိုင်ကိုပြုပြင်ရန်နှင့်ဤရွေးချယ်မှုကိုဖွင့်ပါ။
allow_url_fopen = On
အမှိုက်သရိုက်ပေါ်လာ?
Target Page ကို Encoding နှင့်လိုအပ်ပါက encoding ကိုပြောင်းပါ။
$content = mb_convert_encoding($content, 'UTF-8', 'GBK');
https ကိုမသုံးနိုင်ဘူးလား။
opensssl extension ကိုသေချာအောင်လုပ်ပါ။
extension=openssl
သက်ဆိုင်သောတက်(ဂ်)များ:
file_get_contents URL