PHP တွင်စက်များ, အချက်အလက်များစသည်တို့ကိုထည့်သွင်းခြင်းနှင့်ထုတ်လုပ်ခြင်းများကိုပြုလုပ်သောယန္တရားတစ်ခုဖြစ်သည်။ စီးဆင်းမှု၏အပြုအမူကိုနက်နက်ရှိုင်းရှိုင်းဆန်းစစ်ရန်ကျွန်ုပ်တို့သည်များသောအားဖြင့်စမ်းချောင်း၏အသေးစိတ်အချက်အလက်များကိုရရန်လိုအပ်သည်။ ဤဆောင်းပါးသည် stream_context_get_options နှင့် stream_get_meta_Data ကို မည်သို့အသုံးပြုရမည်ကိုအာရုံစိုက်မည်။
PHP တွင် Stream Context ဆိုသည်မှာစီးဆင်းနေသောလည်ပတ်မှု၏ configuration information ၏အချက်အလက်ဖွဲ့စည်းပုံဖြစ်သည်။ ၎င်းကို stream_context_create () function မှတဆင့်ဖန်တီးနိုင်ပြီးစီးဆင်းမှုကိုဖွင့်လှစ်ရန်အသုံးပြုသောရွေးချယ်စရာများ (ဥပမာ HTTP တောင်းဆိုမှု, proxy settings စသည်) ။
stream_context_get_options () function ကိုဖန်တီးထားသော stream အခြေအနေတွင်ရွေးချယ်မှုအားလုံးကိုရရှိရန်အသုံးပြုသည်။ ၎င်းသည် stream configurations များကို debugging လုပ်ခြင်းအတွက်အထူးသဖြင့်ချောင်းတစ်ခုဖန်တီးသည့်အခါသတ်သတ်မှတ်မှတ်သတ်မှတ်ချက်များကိုကြည့်ရှုရန်ခွင့်ပြုသည်။
<?php
// တစ် ဦး stream အခြေအနေကိုဖန်တီးပါ,တည်ဆောက်သည် HTTP တောင်းဆိုချက် header
$options = [
'http' => [
'header' => 'User-Agent: PHP/7.4'
]
];
$context = stream_context_create($options);
// အခြေအနေနှင့်ပတ်သက်။ ရွေးချယ်ရန်ရွေးချယ်စရာများ
$options = stream_context_get_options($context);
print_r($options);
?>
output ရလဒ်ဖြစ်လိမ့်မည်:
Array
(
[http] => Array
(
[header] => User-Agent: PHP/7.4
)
)
stream_get_meta_data () function ကို) function ကိုစီးဆင်းမှု၏ metadata ကိုရရန်အသုံးပြုသည်။ ၎င်းသည် stream status status ကို stract status, သတင်းအချက်အလက်,
<?php
// ဖိုင်စီးကိုဖွင့်ပါ
$file = fopen("example.txt", "r");
// အဆိုပါစီး၏ metadata ရယူပါ
$metaData = stream_get_meta_data($file);
print_r($metaData);
// ဖိုင်စီးကိုပိတ်ပါ
fclose($file);
?>
အောက်ပါအတိုင်း output ကိုဖြစ်လိမ့်မည်:
Array
(
[timed_out] =>
[blocked] =>
[eof] =>
[unread_bytes] => 0
[stream_type] => STDIO
[wrapper_type] => plainfile
[wrapper_data] =>
[stream_type] => STDIO
)
စမ်းချောင်း၏အသေးစိတ်အချက်အလက်များကိုဆန်းစစ်ရန်ကျွန်ုပ်တို့သည်များသောအားဖြင့် stream_context_get_options နှင့် stream_get_meta_data ကို အတူတကွအသုံးပြုရန်လိုအပ်သည်။ ဥပမာအားဖြင့်, HTTP တောင်းဆိုမှုကိုပြုလုပ်သောအခါသင်လွှင့်ဌာန၏ metadata နှင့်ဆက်စပ်သော configuration information ၏ metadata ကိုကြည့်ရှုလိုပေမည်။
ဤနေရာတွင်ကွန်ယက်တောင်းဆိုမှုမှတဆင့်ကွန်ယက်တောင်းဆိုမှုတစ်ခုမှတစ်ဆင့်ကွန်ယက်တောင်းဆိုမှုတစ်ခုမှတစ်ခုချင်းစီကိုရယူခြင်းနှင့်အခြေအနေများနှင့် metadata တို့နှင့်ပေါင်းစပ်ထားသောစမ်းချောင်းများရရှိခြင်း၏ဥပမာတစ်ခုဖြစ်သည်။
<?php
// ကွက်ကွက်ကေျာင်းHTTPတောင်းဆိုမှုများတောင်းဆိုမှုများ
$options = [
'http' => [
'method' => 'GET',
'header' => 'User-Agent: PHP/7.4'
]
];
$context = stream_context_create($options);
// အဆိုပါစီးကိုဖွင့်ခြင်းနှင့်တောင်းဆိုမှုကိုပေးပို့ပါ
$url = "http://m66.net/example"; // ဒိုမိန်းအမည်ကိုအစားထိုးပါ m66.net
$stream = fopen($url, 'r', false, $context);
// အဆိုပါစီး၏ metadata ရယူပါ
$metaData = stream_get_meta_data($stream);
print_r($metaData);
// အခြေအနေရရန်ရွေးချယ်စရာများ
$contextOptions = stream_context_get_options($context);
print_r($contextOptions);
// စီးကိုပိတ်ပါ
fclose($stream);
?>
output ကိုဖြစ်လိမ့်မည်:
စီးဆင်းမှု metadata:
Array
(
[timed_out] =>
[blocked] =>
[eof] => 1
[unread_bytes] => 0
[stream_type] => http
[wrapper_type] => http
[wrapper_data] => HTTP/1.1 200 OK
[stream_type] => http
)
အခြေအနေရွေးချယ်မှုများ:
Array
(
[http] => Array
(
[method] => GET
[header] => User-Agent: PHP/7.4
)
)
stream_context_get_optata များ နှင့် stream_get_meta_data functions များကိုပေါင်းစပ်ခြင်းဖြင့် developer များကအသေးစိတ်ပြင်ဆင်မှုသတင်းအချက်အလက်နှင့် MetaData တို့ကိုအလွယ်တကူကြည့်ရှုနိုင်သည်။ ကွန်ယက်တောင်းဆိုမှုများပြုလုပ်ရာတွင်တောင်းဆိုမှု configuration or debugging စီးဆင်းမှုကိုရှာဖွေရန်ဤနည်းလမ်းသည်သင့်အားကူညီနိုင်သည်။
ဤနည်းလမ်းနှစ်ခုသည် HTTP streams များနှင့်သာကန့်သတ်ထားသည်။ ဤကိရိယာများနှင့်အတူ, သင်စီးဆင်းမှု၏အပြုအမူကိုသင်ပိုမိုလေ့လာပြီးထိန်းချုပ်နိုင်ပါတယ်။