PHP တွင် local file တစ်ခု၏အကြောင်းအရာကိုဖတ်ရှုခြင်းသည်ဘုံစစ်ဆင်ရေးတစ်ခုဖြစ်သည်။ File_Get_contents () သည် file ၏ပါဝင်မှုကိုတိုက်ရိုက်ဖတ်ရန်ခွင့်ပြုသည့်အလွန်အဆင်ပြေသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည် local files များကိုဖတ်ရုံသာမကကွန်ယက်ရှိဖိုင်များကိုဖတ်ရှုခြင်းသို့မဟုတ်ဝေးလံခေါင်သီသောဖိုင်များပင်ဖတ်ရှုနိုင်သည်။ ဤဆောင်းပါးသည် local file contents များကိုဖတ်ရန် File_get_controcents () ကို မည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။
File_get_contents () ဖိုင်တစ်ခု၏ contents များကိုဖတ်ပြီးဖိုင်၏ contents ကို string တစ်ခုအဖြစ်ပြန်ပို့နိုင်သည့် PHP built-in function တစ်ခုဖြစ်သည်။ လုပ်ဆောင်ချက်တစ်ခု၏အခြေခံ Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-title function_ invoke__">file_get_contents</span></span><span> ( </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$filename</span></span><span> [, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$flags</span></span><span> = </span><span><span class="hljs-number">0</span></span><span> [, resource </span><span><span class="hljs-variable">$context</span></span><span> = </span><span><span class="hljs-literal">NULL</span></span><span> [, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$offset</span></span><span> = -</span><span><span class="hljs-number">1</span></span><span> [, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$maxlen</span></span><span> = </span><span><span class="hljs-literal">NULL</span></span><span> ]]] )
</span></span>$ filename : ဖတ်ရမည့်ဖိုင်အမည်, ဆွေမျိုးသို့မဟုတ်အကြွင်းမဲ့လမ်းကြောင်းလမ်းကြောင်းများကိုထောက်ပံ့သည်။
$ အလံများ - အချို့သောရွေးချယ်စရာများကိုသတ်မှတ်ရန်ရွေးချယ်စရာ parameter သည် (ဥပမာ, ၎င်းကို file_use_include_pathude_pathude_pathing_ppather သို့မဟုတ် file_binary သို့သတ်မှတ်နိုင်သည်။
$ Context : stream ၏အခြေအနေကိုသတ်မှတ်သည့်ခိုင်လုံသော steam_context အရင်းအမြစ်တစ်ခုဖြစ်သော, default သည် null ဖြစ်သည်။
$ Offset : ဖိုင်၏ start အနေအထားကိုဖတ်ပါ, ပုံမှန်က -1 ဖိုင်ရဲ့ start အနေအထားကနေဖတ်တာကိုညွှန်ပြတယ်။
$ Maxlen : ဖတ်ရန် Bytes အများဆုံးအရေအတွက်ကိုဖတ်ပါ, ပုံမှန်အားဖြင့် Null သည်ဖိုင်တစ်ခုလုံးကိုဖတ်ရှုခြင်းဖြစ်သည်။
အသုံးပြုရန်အလွယ်ကူဆုံးနည်းလမ်းမှာဖိုင်လမ်းကြောင်းကို parameter အဖြစ်တိုက်ရိုက်ဖြတ်သန်းရန်ဖြစ်သည်။ ဥပမာသည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-variable">$file_content</span></span><span> = </span><span><span class="hljs-title function_ invoke__">file_get_contents</span></span><span>(</span><span><span class="hljs-string">'example.txt'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$file_content</span></span><span>;
</span></span>အထက်ဖော်ပြပါကုဒ်သည်ဥပမာအားဖြင့် thy.txt ဖိုင်ပါအကြောင်းအရာများကိုဖတ်ပြီး၎င်းကိုစာမျက်နှာသို့ထုတ်ပေးသည်။ အကယ်. ဖိုင်တည်ရှိပါကဖိုင်အကြောင်းအရာများကိုကြိုးအဖြစ်ပြန်ပို့သည်။ အကယ်. ဖိုင်မရှိပါက function ကို မှားယွင်းစွာ ပြန်လာလိမ့်မည်။ ဖြစ်နိုင်ချေရှိသောအမှားများကိုကိုင်တွယ်ဖြေရှင်းရန်လိုအပ်သည်။
များသောအားဖြင့်ကျွန်ုပ်တို့သည်ဖိုင်သည်ဖိုင်ကိုဖတ်ရန်ပျက်ကွက်ပြီးနောက်အမှားများကိုရှောင်ရှားရန်ဖိုင်တည်ရှိမလားစစ်သူများကိုဆုံးဖြတ်ရန်လိုအပ်သည်။ ဖိုင်တည်ရှိမလားစစ်ဆေးရန် File_exists () သို့မဟုတ် is_file () function ကိုသုံးနိုင်သည်။
<span><span><span class="hljs-variable">$file_path</span></span><span> = </span><span><span class="hljs-string">'example.txt'</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">file_exists</span></span><span>(</span><span><span class="hljs-variable">$file_path</span></span><span>)) {
</span><span><span class="hljs-variable">$file_content</span></span><span> = </span><span><span class="hljs-title function_ invoke__">file_get_contents</span></span><span>(</span><span><span class="hljs-variable">$file_path</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$file_content</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'ဖိုင်မတည်ရှိပါဘူး'</span></span><span>;
}
</span></span>တနည်းအားဖြင့်, @ error error suppressor ကိုသင်အသုံးပြုနိုင်သည်။
<span><span><span class="hljs-variable">$file_content</span></span><span> = @</span><span><span class="hljs-title function_ invoke__">file_get_contents</span></span><span>(</span><span><span class="hljs-string">'example.txt'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$file_content</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'ဖိုင်ဖတ်နေပျက်ကွက်'</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$file_content</span></span><span>;
}
</span></span>သို့သော်အခြားအမှားအယွင်းများကိုဖုံးကွယ်ရန် @ @ အလွန်အကျွံသုံးစွဲရန်မလိုအပ်ပါ။
File_Get_contents () ဖိုင်တစ်ခုလုံးကိုပုံမှန်အားဖြင့်ဖတ်လိမ့်မည်။ အကယ်. ဖိုင်သည်အလွန်ကြီးမားပါက၎င်းသည်အလွန်အကျွံမှတ်ဉာဏ်အသုံးပြုမှုနှင့်အစီအစဉ်များကိုပင်တိုက်ဖျက်နိုင်သည်။ ဖိုင်၏အစိတ်အပိုင်းတစ်ခုကိုဖတ်ရန်သာလျှင်သို့မဟုတ်ဖိုင်ကိုပိတ်ပင်တားဆီးမှုဖြင့်ဖတ်လိုပါက $ Offset နှင့် Maxlen parameters များကိုသုံးနိုင်သည်။
ဥပမာအားဖြင့်, ဖိုင်တစ်ခု၏အစ မှစတင်. 100 bytes ကိုဖတ်ပါ။
<span><span><span class="hljs-variable">$file_content</span></span><span> = </span><span><span class="hljs-title function_ invoke__">file_get_contents</span></span><span>(</span><span><span class="hljs-string">'example.txt'</span></span><span>, </span><span><span class="hljs-literal">false</span></span><span>, </span><span><span class="hljs-literal">null</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$file_content</span></span><span>;
</span></span>File_get_Contents () ဖိုင်ဖတ်ခြင်းအခြေအနေကိုစစ်ဆေးရန်, ဖိုင်များကိုမည်သို့ဝင်ရောက်ကြည့်ရှုခြင်းကိုထိန်းချုပ်ရန်ခွင့်ပြုသည် (ဥပမာ, proxy, timeout စသည်) သင်အခြေအနေကိုသတ်မှတ်ရန်လိုအပ်ပါကရှေ့စကားရင်းမြစ်တစ်ခုကိုဖန်တီးရန် Steam_context_create () function ကိုသုံးနိုင်သည်။
ဥပမာ - အချိန်ကုန်ကန့်သတ်ချက်ကိုသတ်မှတ်ပါ
<span><span><span class="hljs-variable">$options</span></span><span> = [
</span><span><span class="hljs-string">'http'</span></span><span> => [
</span><span><span class="hljs-string">'timeout'</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-variable">$context</span></span><span> = </span><span><span class="hljs-title function_ invoke__">stream_context_create</span></span><span>(</span><span><span class="hljs-variable">$options</span></span><span>);
</span><span><span class="hljs-variable">$file_content</span></span><span> = </span><span><span class="hljs-title function_ invoke__">file_get_contents</span></span><span>(</span><span><span class="hljs-string">'example.txt'</span></span><span>, </span><span><span class="hljs-literal">false</span></span><span>, </span><span><span class="hljs-variable">$context</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$file_content</span></span><span>;
</span></span>File_get_Contents () သည် ဒေသဖွံ့ကော်များကိုသာဖတ်ရှုခြင်းအားပံ့ပိုးကူညီသည်။ သင် URL လိပ်စာကိုသာပေးရန်လိုအပ်သည်။ ဥပမာ, ဝဘ်စာမျက်နှာတစ်ခု၏အကြောင်းအရာကိုဖတ်ရှုခြင်း။
<span><span><span class="hljs-variable">$url</span></span><span> = </span><span><span class="hljs-string">'https://www.example.com'</span></span><span>;
</span><span><span class="hljs-variable">$html_content</span></span><span> = </span><span><span class="hljs-title function_ invoke__">file_get_contents</span></span><span>(</span><span><span class="hljs-variable">$url</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$html_content</span></span><span>;
</span></span>ဝေးလံခေါင်သီသောဖိုင်များကိုဖတ်ရန်လိုအပ်သည့်အခါ PHP configuration တွင် Allow_URL_FOPEN option ကိုသေချာအောင်လုပ်ပါ။ မဖွင့်ပါက၎င်းကို php.ini configuration file မှတဆင့်ဖွင့်နိုင်သည်။
စွမ်းဆောင်ရည်ပြ issues နာများ - ဖိုင်တစ်ခုလုံးကိုတစ်ချိန်တည်းတွင်ဖတ်ရန်ဖိုင်တစ်ခုလုံးကိုဖတ်ရန်ဖိုင်သည်အလွန်ကြီးမားသည် ။ FOPEN () , fgets () , သို့မဟုတ် frets () frets () fret () frets () frets () frase () fret () fatch () fatch () fatch () fatch () fatch () functions ကိုသုံးပြီးစဉ်းစားနိုင်သည်။
အမှားကိုင်တွယ်ခြင်း - အကယ်. ဖိုင်ကိုဖတ်ရန်ပျက်ကွက်ပါက File_Get_contros () မှားယွင်းစွာ ပြန်လာလိမ့်မည်။ ထို့ကြောင့်၎င်းကိုအသုံးပြုသောအခါကြိုတင်ခန့်မှန်းရခက်သောအမှားများကိုရှောင်ရှားရန်ပြန်လာတန်ဖိုးကိုသေချာစစ်ဆေးပါ။
File Permissions - PHP လုပ်ငန်းစဉ်သည်အထူးသဖြင့်မသင့်တော်သောခွင့်ပြုချက် settings ဖိုင်ကိုဖတ်ရန်ဖြစ်ပေါ်လာစေမည့်ထုတ်လုပ်မှုဝန်းကျင်တွင်ဖိုင်များအတွက် PHP လုပ်ငန်းတွင်လုံလောက်သောခွင့်ပြုချက်ရှိကြောင်းသေချာစေပါ။
File_Get_contents () သည်အလွန်ရိုးရှင်းသောဖိုင်ဖတ်ခြင်း function တစ်ခုဖြစ်သည်။ သေးငယ်သောဖိုင်များဖတ်ရန်သို့မဟုတ်ဖိုင်တစ်ခု၏အကြောင်းအရာကိုဖတ်ရန်သင့်တော်သည်။ ကြီးမားသောဖိုင်များအတွက်တော့မစ်ရှင်စာဖတ်ခြင်းကိုမှတ်ဉာဏ်ကိုကယ်တင်ရန်စဉ်းစားသင့်သည်။ အခြေအနေကိုသတ်မှတ်ခြင်းဖြင့်ဖိုင်ဖတ်ခြင်း၏အပြုအမူကိုပြောင်းလဲခြင်း, ဖိုင်ဖတ်နေသည့် application application ဇာတ်လမ်းကိုတိုးမြှင့်နိုင်သည်။
အကယ် . သင့်တွင်ပိုမိုရှုပ်ထွေးသောဖိုင်ဖတ်ခြင်းဆိုင်ရာလိုအပ်ချက်များရှိပါက, စာဖတ်ခြင်း ကို မျဉ်းကြောင်းဖြင့်စာဖတ်ခြင်းကိုဖတ်ခြင်း,
သက်ဆိုင်သောတက်(ဂ်)များ:
file_get_contents