လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP မှတစ်ဆင့်ဖိုင်တင်ခြင်းနှင့်ဖိုင်များကိုကူးယူခြင်းနှင့်ကူးယူနည်း။

PHP မှတစ်ဆင့်ဖိုင်တင်ခြင်းနှင့်ဖိုင်များကိုကူးယူခြင်းနှင့်ကူးယူနည်း။

gitbox 2025-06-17

PHP မှတစ်ဆင့်ဖိုင်တင်ခြင်းနှင့်ဖိုင်များကိုကူးယူခြင်းနှင့်ကူးယူနည်း။

ခေတ်သစ်ဝက်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဖိုင်တင်ခြင်းနှင့်ဒေါင်းလုပ်ပြုလုပ်ခြင်းသည်ဘုံအင်္ဂါရပ်များထဲမှတစ်ခုဖြစ်သည်။ PHP သည်လူကြိုက်များသောဆာဗာဘက်ဘာသာစကားတစ်ခုအနေဖြင့် PHP သည်ဖိုင်တင်ခြင်းနှင့်ဒေါင်းလုပ်အပါအ 0 င်ဖိုင်စစ်ဆင်ရေးများကိုကိုင်တွယ်ရန် built-in functions အမျိုးမျိုးကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည် PHP မှတစ်ဆင့်ဤလုပ်ဆောင်မှုနှစ်ခုကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုအသေးစိတ်မိတ်ဆက်ပေးပြီး developer များပိုမိုနားလည်ပြီးလျှောက်ထားရန်သက်ဆိုင်သောကုဒ်များနှင့်သက်ဆိုင်သည်။

1 ။ ဖိုင်တင်ခြင်း

ဖိုင်တင်ခြင်းသည် local files များကိုဆာဗာသို့လွှဲပြောင်းခြင်းလုပ်ငန်းစဉ်ဖြစ်သည်။ PHP သည် developer များကို developer များတင်ဆောင်သည့်စစ်ဆင်ရေးများကိုကိုင်တွယ်ရန်ကူညီရန် PHP ကို ​​`` `` $ _files` global variable များကိုထောက်ပံ့ပေးသည်။

ပထမ ဦး စွာကျွန်ုပ်တို့သည် HTML form တွင်ဖိုင်တင်ခြင်းအတွက် input control တစ်ခုကိုထည့်သွင်းရန်လိုအပ်သည်။

<form method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="တင်ပါ">
</form>
    

ထို့နောက် PHP တွင်ဖိုင်များကိုတင်ခြင်းနှင့်ပတ်သက်သောသတင်းအချက်အလက်များကို `$ _files ၏ကမ္ဘာလုံးဆိုင်ရာ variable ကိုမှတဆင့်ရယူနိုင်သည်။ `$ _files` သည်ဖိုင်အမည်, ဖိုင်အမျိုးအစား, ယာယီသိုလှောင်မှုလမ်းကြောင်းကဲ့သို့သောဖိုင်များကိုတင်ခြင်းနှင့်ပတ်သက်သောသတင်းအချက်အလက်အမျိုးမျိုးပါ 0 င်သည့် Associative ခင်းကျင်းမှုတစ်ခုဖြစ်သည်။

IF ($ _server [&#39;ayserver&#39;] === &#39;post&#39;) {
    $ file = $ _files [&#39;file&#39;];

    // ဖိုင်အမည် $ filename = $ file [&#39;name&#39;];

    // ဖိုင်၏ယာယီသိုလှောင်မှုလမ်းကြောင်းကို $ tmppath = $ file [&#39;tmp_name&#39;] ကိုရယူပါ။

    // ပစ်မှတ်သိုလှောင်မှုလမ်းကြောင်းကို $ destination = &#39;uploads /&#39; ကိုသတ်မှတ်ပါ။ $ filename;

    // ဖိုင်ကို target_uploaded_file ($ tmppath, $ destination) သို့ရွှေ့ပါ။

    Echo &#39;file ကိုအောင်မြင်စွာတင်လိုက်ပြီ&#39;;
}
    

ဤကုဒ်တွင် `$ _files ['file file']` `` file file '] `ယာယီဖိုင်ကိုသတ်မှတ်ထားသောလမ်းကြောင်းသို့ရွှေ့ပြောင်းရန်အတွက်` `owoup_uploaded_file ()` function ကိုသုံးပါ။

2 ။ ဖိုင်ဒေါင်းလုပ်

File Download သည်ဆာဗာပေါ်ရှိဖိုင်များကို client သို့လွှဲပြောင်းရန်ရည်ညွှန်းသည်။ PHP သည် file download ကိုအကောင်အထည်ဖော်ရန် `readfile () function ကိုထောက်ပံ့ပေးသည်။ ဤတွင်အခြေခံ File download code support:

$ file = &#39;Path / to / file.txt&#39;,

if (file_exists ($ file)) {
    header (&#39;အကြောင်းအရာ - ဖော်ပြချက် - ဖိုင်လွှဲပြောင်းခြင်း&#39;);
    header (&#39;အကြောင်းအရာအမျိုးအစား: လျှောက်လွှာ / octet-stream&#39;);
    header (&#39;အကြောင်းအရာ - သဘောထား - ပူးတွဲမှု - ပူးတွဲဖိုင် = filename =&#39; &#39;။ BEADAME ($ file));
    header (&#39;အကြောင်းအရာ - လွှဲပြောင်း-encoding: binary&#39;);
    header (&#39;Expires: 0&#39;);
    Header (&#39;Cache Control: Post-revalidate, post-check = 0, Post-check = 0&#39;);
    Header (&#39;PRAGMA: Public&#39;);
    header (&#39;အကြောင်းအရာ - အရှည်:&#39; ။ ။ ဖိုင် ($ file));

    Readfile ($ file);
    ထွက်ပေါက်;
} အခြား
    ပဲ့တင်သံ &#39;ဖိုင်ကိုမတွေ့ပါ!&#39;;
}
    

ဤကုဒ်တွင် download လုပ်မည့်ဖိုင်ကို `file_exists ()` function မှတဆင့်တည်ရှိမလားဆိုတာကို ဦး စွာစစ်ဆေးပါ။ ဖိုင်သည်တည်ရှိပါကဖိုင်ကိုမှန်ကန်စွာကူးယူနိုင်ရန်သေချာစေရန်ဖိုင်အမျိုးအစား, ဖိုင်အမည်နှင့်ဖိုင်အရှည်ကဲ့သို့သောလိုအပ်သော http header အချက်အလက်များကိုသတ်မှတ်ထားသည်။ ထို့နောက် client သို့ဖိုင်အကြောင်းအရာကိုထုတ်လွှင့်ရန် `readfile ()` function ကိုသုံးပါ။

ကျေးဇူးပြု. Browser သည်ဖိုင်အမျိုးအစားများနှင့်ဖိုင်အမည်များကိုမှန်ကန်စွာကိုင်တွယ်နိုင်ကြောင်းသေချာစေရန်သင့်လျော်သော HTTP ခေါင်းစီးများ,

ကောက်ချက်

ဤဆောင်းပါးက File Upload ကိုကိုင်တွယ်ရန် PHP လုပ်ဆောင်ချက်များကိုမည်သို့အသုံးပြုရမည်ကိုဖော်ပြသည်။ `$ _files`` move_uploaded_file () `functions_file ()` functions များ () functions များ, developer များကဖိုင်တင်ခြင်းလုပ်ဆောင်ချက်ကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ `readfile ()` function မှတဆင့် function ကိုမှတဆင့် HTTP header သတင်းအချက်အလက်များကိုချိန်ညှိခြင်းဖြင့် file download function ကိုအကောင်အထည်ဖော်နိုင်သည်။ ဤအကြံပြုချက်များသည်သင့်အားဖွံ့ဖြိုးတိုးတက်မှုအတွက်အချိန်များစွာသက်သာစေပြီးဖိုင်အမျိုးအစားများကိုပိုမိုထိရောက်စွာဖြည့်ဆည်းပေးနိုင်သည်။