လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> stream_get_meta_data () ကိုသုံးပြီး stream အချက်အလက်ကိုခွဲခြမ်းစိတ်ဖြာရန်

stream_get_meta_data () ကိုသုံးပြီး stream အချက်အလက်ကိုခွဲခြမ်းစိတ်ဖြာရန်

M66 2025-05-28

PHP တွင်စက်များ, အချက်အလက်များစသည်တို့ကိုထည့်သွင်းခြင်းနှင့်ထုတ်လုပ်ခြင်းများကိုပြုလုပ်သောယန္တရားတစ်ခုဖြစ်သည်။ စီးဆင်းမှု၏အပြုအမူကိုနက်နက်ရှိုင်းရှိုင်းဆန်းစစ်ရန်ကျွန်ုပ်တို့သည်များသောအားဖြင့်စမ်းချောင်း၏အသေးစိတ်အချက်အလက်များကိုရရန်လိုအပ်သည်။ ဤဆောင်းပါးသည် stream_context_get_options နှင့် stream_get_meta_Data ကို မည်သို့အသုံးပြုရမည်ကိုအာရုံစိုက်မည်။

1 ။ စီးဆင်းမှုအခြေအနေကိုနားလည်ပါ

PHP တွင် Stream Context ဆိုသည်မှာစီးဆင်းနေသောလည်ပတ်မှု၏ configuration information ၏အချက်အလက်ဖွဲ့စည်းပုံဖြစ်သည်။ ၎င်းကို stream_context_create () function မှတဆင့်ဖန်တီးနိုင်ပြီးစီးဆင်းမှုကိုဖွင့်လှစ်ရန်အသုံးပြုသောရွေးချယ်စရာများ (ဥပမာ HTTP တောင်းဆိုမှု, proxy settings စသည်) ။

2 ။ stream_context_et_options function

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
        )
)

3 ။ stream_get_meta_data function ကို

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
)

4 ။ conjunction အတွက် stream_context_get_options နှင့် stream_get_meta_data ကို သုံးပါ

စမ်းချောင်း၏အသေးစိတ်အချက်အလက်များကိုဆန်းစစ်ရန်ကျွန်ုပ်တို့သည်များသောအားဖြင့် 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
        )
)

5 ။ အကျဉ်းချုပ်

stream_context_get_optata များ နှင့် stream_get_meta_data functions များကိုပေါင်းစပ်ခြင်းဖြင့် developer များကအသေးစိတ်ပြင်ဆင်မှုသတင်းအချက်အလက်နှင့် MetaData တို့ကိုအလွယ်တကူကြည့်ရှုနိုင်သည်။ ကွန်ယက်တောင်းဆိုမှုများပြုလုပ်ရာတွင်တောင်းဆိုမှု configuration or debugging စီးဆင်းမှုကိုရှာဖွေရန်ဤနည်းလမ်းသည်သင့်အားကူညီနိုင်သည်။

ဤနည်းလမ်းနှစ်ခုသည် HTTP streams များနှင့်သာကန့်သတ်ထားသည်။ ဤကိရိယာများနှင့်အတူ, သင်စီးဆင်းမှု၏အပြုအမူကိုသင်ပိုမိုလေ့လာပြီးထိန်းချုပ်နိုင်ပါတယ်။