ob_get_contents () ကို လက်ရှိ PHP output buffer တွင်ပါ 0 င်သောအကြောင်းအရာများကိုရရှိရန်အသုံးပြုသည်။ OB_START () နှင့်ပေါင်းစပ်ထားသော () သည် browser သို့တိုက်ရိုက်ပေးပို့မည့်အစား output content ကိုပထမ ဦး စွာသိမ်းဆည်းရန်ခွင့်ပြုသည်။
ob_start(); // output buffer ကိုဖွင့်ပါ
echo "Hello, world!";
$content = ob_get_contents(); // Buffer အကြောင်းအရာကိုရယူပါ
ob_end_clean(); // ကြားခံကိုပိတ်ပြီးအကြောင်းအရာများကိုရှင်းလင်းပါ
echo "Captured content: " . $content;
အထက်ပါကုဒ်သည် string output ကို echo ဖြင့် ဖမ်းယူနိုင်ပြီး၎င်းကို ဒေါ်လာအကြောင်းအရာ ဖြင့်သိမ်းဆည်းထားပြီး၎င်းကိုထုတ်ယူပါလိမ့်မည်။
ယေဘူယျအားဖြင့်တောင်းဆိုမှုများသည်ယေဘုယျအားဖြင့် 0 န်ဆောင်မှုခံယူသူအား 0 န်ဆောင်မှုခံယူသူအား Javaxript (Ajax) မှတစ်ဆင့်တောင်းဆိုခြင်းနှင့်စာမျက်နှာကိုလန်းစေခြင်းမပြုဘဲပြန်လည်ရယူခြင်းရလဒ်ကိုရယူခြင်းကိုရည်ညွှန်းသည်။ PHP သည်ဤတောင်းဆိုမှုများကိုဆာဗာဘက်မှလုပ်ဆောင်သောအခါ၎င်းသည်တစ်ခါတစ်ရံတွင် output content ကိုဖမ်းယူရန်လိုအပ်သည်။
ob_get_contentents () သည်ပြတ်တောင်းပြတ်တောင်းတောင်းဆိုမှုများ၏ကွပ်မျက်မှုရလဒ်များ (ဥပမာ - template လုပ်ထားသောအကြောင်းအရာများအဖြစ်) ကိုကွပ်မျက်ခြင်းရလဒ်များကိုနောက်ခံတွင်ဖမ်းယူနိုင်ပြီးတုံ့ပြန်မှုတစ်ခုအနေဖြင့်ရှေ့တွင်ပြန်လာသည်။
Ajax မှတစ်ဆင့် Ajax မှတဆင့် async_handler.php သို့တောင်းဆိုမှုတစ်ခုပို့ပေးပါက PHP သည် dynamically dynamically content ကိုပြန်ပေးရန်လိုအပ်သည်ဆိုပါစို့။ output ကိုဖမ်းယူရန်နှင့်ဖုန်းခေါ်ဆိုသူထံသို့ပြန်ပို့ရန် OB_GET_CONTERS () ကို အသုံးပြုသည်။
<?php
// output ကိုကြားခံဖွင့်ပါ
ob_start();
// asynchronous အပြောင်းအလဲနဲ့ယုတ္တိဗေဒတူအောင်ဖန်တီးပါ
echo "<div>ဤသည် asynchronously ပြန်လာသောအရာကိုဖြစ်ပါတယ်,လက်ရှိအချိန်:" . date('H:i:s') . "</div>";
// ရိုက်ကူးခံချက်များဖမ်းယူဖမ်းယူ
$content = ob_get_contents();
// Buffer ကိုအနီးကပ်သန့်ရှင်းပါ
ob_end_clean();
// တုံ့ပြန်မှုအဖြစ်ဖမ်းမိအကြောင်းအရာ output ကို
echo $content;
?>
$.ajax({
url: 'http://gitbox.net/async_handler.php',
method: 'GET',
success: function(response) {
// ပြန်လာသောအကြောင်းအရာကိုစာမျက်နှာထဲသို့ထည့်ပါ
$('#result').html(response);
},
error: function() {
alert('တောင်းဆိုမှုပျက်ကွက်');
}
});
တစ်ခါတစ်ရံတွင်ကျွန်ုပ်တို့သည် PHP တွင်ပြတ်တောင်းပြတ်တောင်းတောင်းဆိုမှုများကိုစတင်ရန် နှင့် ရလဒ်များကိုရရှိသောရလဒ်များကိုရလိုကြသည် ။
<?php
function getAsyncContent($url) {
ob_start();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
echo $result; // ထုတ်လုပ်ခြင်း curl အကြောင်းအရာကိုပြန်သွားပါ
$content = ob_get_contents();
ob_end_clean();
return $content;
}
$url = "http://gitbox.net/async_handler.php";
$response = getAsyncContent($url);
echo "asynchronous တောင်းဆိုမှုဆာဗာအပေါ်ရလဒ်:" . $response;
?>
ob_get_contents () သည် PHP scripts ၏ output buffer အကြောင်းအရာများကိုထုတ်လွှင့်ပြီး output data များကို forexp process လုပ်ခြင်းကိုဖမ်းယူရန်ခွင့်ပြုသည်။
ပြတ်တောင်းပြတ်တောင်းတောင်းဆိုခြင်းအပြောင်းအလဲအတွက်, ရလဒ်များကိုအလွယ်တကူထိန်းချုပ်ရန်နှင့်ပြန်ပို့ရန်နှင့်ပြန်ပို့ရန်ကြားခံကို အသုံးပြု. ဖမ်းယူထားသည်။
ရှေ့တန်း Ajax တောင်းဆိုမှုတစ်ခုဖြစ်သည်ဖြစ်စေ PHP server သည်ပြတ်တောင်းပြတ်တောင်းခေါ်ဆိုမှု များ ,
ဤနည်းပညာကိုကျွမ်းကျင်စွာဖြင့်ရှုပ်ထွေးသောပြတ်တောင်းပြတ်တောင်းယုတ္တိဗေဒနှင့်ဆက်ဆံရာတွင်သင် ပို. အဆင်ပြေပါလိမ့်မည်။