PHP တွင် stream_context_get_options function သည် stream အခြေအနေကိုအသုံးပြုသောအခါအလွန်အသုံးဝင်သည်, အချို့သောရွေးချယ်စရာများသည် timeout သို့မဟုတ် user-agent ကဲ့သို့သော stream အခြေအနေတွင်အောင်မြင်စွာတပ်ဆင်ထားခြင်းရှိမရှိအတည်ပြုရန်အသုံးပြုနိုင်သည်။
Stream_context_crexe မှတစ်ဆင့် Stream Context ကိုဖန်တီးပြီး၎င်းတွင်ရွေးချယ်စရာများကိုသတ်မှတ်ပါ ။ ဤဆောင်းပါးသည်အချိန်ကုန်ခြင်းနှင့်အသုံးပြုသူကိုယ်စားလှယ်များအောင်မြင်စွာသတ်မှတ်ခြင်းရှိမရှိစစ်ဆေးရန်ဤလုပ်ငန်းကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် stream အခြေအနေကိုဖန်တီးရန်နှင့်ရွေးချယ်စရာများကိုသတ်မှတ်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် အချိန်ကုန်လွှာ ကို HTTP option တွင် time_agent ကို HTTP option တွင် သတ်မှတ်. တောင်းဆိုမှု header တွင်အသုံးပြုသူ - ကိုယ်စားလှယ်ကိုသတ်မှတ်ရန်သတ်မှတ်နိုင်သည်။
<?php
// Stream အခြေအနေရွေးချယ်စရာများဖန်တီးပါ
$options = [
'http' => [
'timeout' => 10, // အချိန်ကုန်အချိန်ကိုသတ်မှတ်ပါ10စက်ဏန့်
'user_agent' => 'PHP-Client/1.0' // တည်ဆောက်သည်User-Agent
]
];
// တစ် ဦး stream အခြေအနေကိုဖန်တီးပါ
$context = stream_context_create($options);
// ကွန်ယက်တောင်းဆိုမှုများအတွက်ဤ streaming အခြေအနေကိုသုံးပါ
$url = "http://m66.net/somepath";
$response = file_get_contents($url, false, $context);
// output တုံ့ပြန်မှုရလဒ်
echo $response;
?>
အထက်ပါကုဒ်တွင်ကျွန်ုပ်တို့သည်ရွေးချယ်စရာနှစ်ခုကိုသတ်မှတ်ထားသည်။
အချိန်ကုန်သည် 10 စက္ကန့်ဖြစ်သည်။
User_agent သည် PHP-client / 1.0 ဖြစ်သည်။
ကျွန်ုပ်တို့သည်တောင်းဆိုမှုကိုပေးပို့ရန်နှင့်တုန့်ပြန်မှုကိုဖတ်ရန် File_get_Contore ကို သုံးပါ။
ထို့နောက်ဤရွေးချယ်စရာများကိုအောင်မြင်စွာသတ်မှတ်ထားခြင်းရှိမရှိအတည်ပြုရန် Stream_context_et_oPtions ကို သုံးပါ။ ဤလုပ်ဆောင်ချက်သည် Stream အခြေအနေတွင်ပါ 0 င်သော options များပါ 0 င်သည့်နေရာများပါ 0 င ်သည့် array တစ်ခုပါ 0 င ် သည် ။
<?php
// Stream အခြေအနေရှိ Options အားလုံးကိုရယူပါ
$contextOptions = stream_context_get_options($context);
// output စီးဆင်းမှုအခြေအနေတွင်အားလုံးရွေးချယ်စရာများ
echo '<pre>';
print_r($contextOptions);
echo '</pre>';
// 检查是否တည်ဆောက်သည်了timeoutနှင့်user_agent
if (isset($contextOptions['http']['timeout'])) {
echo '超时时间已တည်ဆောက်သည်为:' . $contextOptions['http']['timeout'] . 'စက်ဏန့်<br>';
} else {
echo '未တည်ဆောက်သည်超时时间<br>';
}
if (isset($contextOptions['http']['user_agent'])) {
echo 'User-Agent已တည်ဆောက်သည်为:' . $contextOptions['http']['user_agent'] . '<br>';
} else {
echo '未တည်ဆောက်သည်User-Agent<br>';
}
?>
ဤကုဒ်တွင် stream_context_et_et_options များကို Stream Options ရှိရွေးချယ်စရာများကိုရယူရန်နှင့်၎င်းကိုပုံနှိပ်ထုတ်ဝေသည်။ ထို့နောက် အချိန်ကုန်ခြင်း နှင့် user_agent ကို usset အားဖြင့်အောင်မြင်စွာစစ်ဆေးသည်ကိုစစ်ဆေးပါ။
အကယ်. Stream Context option ကိုအောင်မြင်စွာသတ်မှတ်ထားပါက stream_context_et_et_et_et_et_et_et_et_et_options functions မှပြန်လာသောခင်းကျင်းမှုသည်ကျွန်ုပ်တို့သတ်မှတ်ထားသောရွေးချယ်စရာများပါ 0 င်မည်ဖြစ်သည်။ ဥပမာအားဖြင့်, ပြန်လာရလဒ်ကဒီလိုမျိုးဖြစ်လိမ့်မယ်:
Array
(
[http] => Array
(
[timeout] => 10
[user_agent] => PHP-Client/1.0
)
)
ထိုအခါဇာတ်ညွှန်း output ကိုလိမ့်မယ်:
超时时间已တည်ဆောက်သည်为:10စက်ဏန့်
User-Agent已တည်ဆောက်သည်为:PHP-Client/1.0
အကယ်. ဤရွေးချယ်မှုများကိုအောင်မြင်စွာမသတ်မှတ်ပါက ISSET စစ်ဆေးမှုသည် မှားယွင်းသော စစ်ဆေးမှုကိုပြန်လည်ရောက်ရှိစေပြီး "အချိန်ကုန်မထားသော" သို့မဟုတ် "User-agent" ကိုပြသသည်။
stream_context_get_options ကို အသုံးပြုခြင်းအားဖြင့် timeout ( timeout ) နှင့် user-user- user actions) ကဲ့သို့သောအောင်မြင်မှုများစွာကိုအောင်မြင်စွာသတ်မှတ်ခြင်းရှိမရှိအလွယ်တကူအတည်ပြုနိုင်သည်။ Stream Context settings ကိုဖြေရှင်းရန်နှင့်အတည်ပြုသည့်အခါဤချဉ်းကပ်မှုသည်အလွန်အသုံးဝင်သည်။