လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> stream_is_local ကို fopen နှင့်ပူးပေါင်းရန်အဘယ်အရာကိုအသုံးပြုနိုင်သနည်း။ Local ဖိုင်များကိုလျင်မြန်စွာရှာဖွေတွေ့ရှိနည်းကိုမျှဝေပါ

stream_is_local ကို fopen နှင့်ပူးပေါင်းရန်အဘယ်အရာကိုအသုံးပြုနိုင်သနည်း။ Local ဖိုင်များကိုလျင်မြန်စွာရှာဖွေတွေ့ရှိနည်းကိုမျှဝေပါ

gitbox 2025-09-24

1 ။ stream_is_local ဆိုတာဘာလဲ။

Stream_is_local သည် PHP တွင် built-in function တစ်ခုဖြစ်သည်။ ၎င်း၏ function သည်ဖိုင်သို့မဟုတ်စီးသည် local file system တွင်ဖိုင်ရှိမဟုတ်သည်ကိုစစ်ဆေးရန်ဖြစ်သည်။ ဤလုပ်ဆောင်မှုသည် boolean value ကိုပြန်လည်ရရှိပြီးပေးထားသော stream သည် local file system ဖိုင်တစ်ခု၏ဖိုင်သည် ဖိုင် တစ်ခုဖြစ်ပါကပြန်လည်ထူထောင်သည်

 <span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">stream_is_local</span></span><span> ( resource </span><span><span class="hljs-variable">$stream</span></span><span> )
</span></span>

parameter သည်ဖော်ပြချက်:

  • $ stream : ဤသည်ခိုင်လုံသောစီးဆင်းမှုအရင်းအမြစ်တစ်ခုဖြစ်ပါတယ် (Stream အရင်းအမြစ်ကို fopen function မှတဆင့်ရရှိနိုင်ပါတယ်) ။

2 ။ fopen နှင့် stream_is_local ကို ဘယ်လိုသုံးရမလဲ။

FOPEN သည် PHP တွင်ဖိုင်များဖွင့်ရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ၎င်းသည် Lock_is_local နှင့်ပေါင်းစပ်ထားသော local files များ, ဝေးလံခေါင်ဖျားသောဖိုင်များ, ဝေးလံခေါင်သီသောဖိုင်များဖွင့်နိုင်သည်။

အခြေခံဥပမာ:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</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-comment">// အသုံးပြု fopen ဖိုင်ကိုဖွင့်ပါ</span></span><span>
</span><span><span class="hljs-variable">$handle</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-variable">$file_path</span></span><span>, </span><span><span class="hljs-string">'r'</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$handle</span></span><span>) {
    </span><span><span class="hljs-comment">// ဖိုင်သည် local file တစ်ခုရှိမရှိဆုံးဖြတ်ပါ</span></span><span>
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">stream_is_local</span></span><span>(</span><span><span class="hljs-variable">$handle</span></span><span>)) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဖိုင်သည် local file တစ်ခုဖြစ်သည်。"</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">"ဖိုင်သည် local file မဟုတ်ပါ。"</span></span><span>;
    }

    </span><span><span class="hljs-title function_ invoke__">fclose</span></span><span>(</span><span><span class="hljs-variable">$handle</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><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ဤဥပမာတွင်ကျွန်ုပ်တို့သည်ဥပမာအားဖြင့် fopen မှတစ်ဆင့် Egypt.txt ဖိုင်ကိုဖွင့်သည်။ အကယ်. ဖိုင်ကိုအောင်မြင်စွာဖွင့်လှစ်ထားပါကဖိုင်သည် local file တစ်ခုရှိမရှိစစ်ဆေးရန် stream_is_local ကို သုံးပါ။

3 ။ stream_is_local ၏လက်တွေ့ကျသော application အခြေအနေများ

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် stream_is_local ကို အမျိုးမျိုးသောအခြေအနေမျိုးတွင်လျှောက်ထားနိုင်သည်, အထူးသဖြင့်ဖိုင်လမ်းကြောင်းသည်ဒေသတွင်းလမ်းကြောင်း, url သို့မဟုတ်အခြား protocol တစ်ခုဖြစ်နိုင်သည်,

3.1 တင်ထားသောဖိုင်များကိုထုတ်ယူခြင်း

အသုံးပြုသူတစ် ဦး သည်ဖိုင်တစ်ခုတင်သောအခါ URL သို့မဟုတ် local file path ဖြစ်သည့်ဖိုင်လမ်းကြောင်းရှိနိုင်သည်။ သင်တင်ထားသောဖိုင်သည် local file တစ်ခုရှိမရှိအတည်ပြုရန်လိုအပ်ပါက stream_is_local ကို သင်ဆုံးဖြတ်ရန်အသုံးပြုနိုင်သည်။

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$file_path</span></span><span> = </span><span><span class="hljs-variable">$_FILES</span></span><span>[</span><span><span class="hljs-string">'upload_file'</span></span><span>][</span><span><span class="hljs-string">'tmp_name'</span></span><span>];

</span><span><span class="hljs-comment">// တင်ထားသောဖိုင်သည် local file တစ်ခုရှိမရှိစစ်ဆေးပါ</span></span><span>
</span><span><span class="hljs-variable">$handle</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-variable">$file_path</span></span><span>, </span><span><span class="hljs-string">'r'</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$handle</span></span><span>) {
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">stream_is_local</span></span><span>(</span><span><span class="hljs-variable">$handle</span></span><span>)) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"上传的ဖိုင်သည် local file တစ်ခုဖြစ်သည်。"</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">"上传的ဖိုင်သည် local file မဟုတ်ပါ。"</span></span><span>;
    }
    </span><span><span class="hljs-title function_ invoke__">fclose</span></span><span>(</span><span><span class="hljs-variable">$handle</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><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

3.2 ဝေးလံခေါင်သီသောဖိုင်များနှင့်ဒေသဆိုင်ရာဖိုင်များအကြားခွဲခြားပါ

အချို့ဖြစ်ရပ်များတွင်ဖိုင်၏အရင်းအမြစ် (ဒေသတွင်းသို့မဟုတ်အဝေးမှ) အပေါ် မူတည်. နောက်ဆက်တွဲစစ်ဆင်ရေးများကိုဆုံးဖြတ်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်, သင်ဖိုင်များကို download လုပ်ရန်လိုအပ်ပါက, သင်သည်ဒေသဖိုင်များကို ဦး စားပေးနိုင်သည်။ သို့မဟုတ်အခြားဖိုင်များ downloads များကိုပြုလုပ်နိုင်သည်။

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$file_path</span></span><span> = </span><span><span class="hljs-string">'https://example.com/file.txt'</span></span><span>;

</span><span><span class="hljs-comment">// သွား fopen ဖိုင်ကိုဖွင့်ပါ流</span></span><span>
</span><span><span class="hljs-variable">$handle</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-variable">$file_path</span></span><span>, </span><span><span class="hljs-string">'r'</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$handle</span></span><span>) {
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">stream_is_local</span></span><span>(</span><span><span class="hljs-variable">$handle</span></span><span>)) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဒါက local file တစ်ခုပါ,ဒေသခံဖိုင်စစ်ဆင်ရေးလုပ်ဆောင်ပါ。"</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">"ဒါကဝေးလံခေါင်သီတဲ့ဖိုင်ပါ,Remote File Download စစ်ဆင်ရေးလုပ်ဆောင်ပါ。"</span></span><span>;
    }
    </span><span><span class="hljs-title function_ invoke__">fclose</span></span><span>(</span><span><span class="hljs-variable">$handle</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><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

4 ။ မှတ်စုများ

  • Stream_is_local သည်အရင်းအမြစ်များကိုလွှင့်ရန်သာသင့်လျော်သည်။ အကယ်. ၎င်းသည်ခိုင်လုံသောစီးဆင်းနေသောအရင်းအမြစ်မဟုတ်လျှင်၎င်းသည် function ကို မှားယွင်းစွာ ပြန်လာလိမ့်မည်။

  • ဤလုပ်ဆောင်မှုသည် File Stream သည် local file system မှလာခြင်းရှိမရှိဆုံးဖြတ်ရန်သာအသုံးပြုနိုင်သည်။ ဖိုင်၏အမှန်တကယ်အကြောင်းအရာ, ခွင့်ပြုချက်သို့မဟုတ်တည်ရှိမှုကိုမဆုံးဖြတ်နိုင်ပါ။

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

stream_is_local နှင့် fopen ပေါင်းစပ်မှုပေါင်းစပ်မှုသည်ဖိုင်များသည်ဖိုင်များပြုပြင်သည့်အခါဖိုင်စနစ်မှလာမရှိမရှိကိုလျင်မြန်စွာဆုံးဖြတ်နိုင်သည်။ ဤသည်သည် application တစ်ခုတွင်အထူးသဖြင့်ဒေသတွင်းနှင့်ဝေးလံခေါင်သီသောဖိုင်များအကြားခွဲခြားရန်လိုအပ်သည့်အခါ၎င်းသည်အလွန်လက်တွေ့ကျသည်။ ဤလုပ်ဆောင်ချက်နှစ်ခုမှတစ်ဆင့်ကျွန်ုပ်တို့သည်သက်ဆိုင်ရာလုပ်ငန်းလည်ပတ်မှုဆိုင်ရာဆုံးဖြတ်ချက်များကိုအလွယ်တကူပြုလုပ်နိုင်ပြီးဖွံ့ဖြိုးတိုးတက်မှုထိရောက်မှုကိုတိုးတက်စေသည်။

  • သက်ဆိုင်သောတက်(ဂ်)များ:

    fopen