ဖိုင်တင်ခြင်းနှင့်ဒေါင်းလုပ်သည်ခေတ်သစ်ဝက်ဘ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အလွန်အသုံးများသောအင်္ဂါရပ်များဖြစ်သည်။ PHP သည် developer များထုတ်လုပ်သူများကိုတင်ရန်နှင့်ဒေါင်းလုပ်လုပ်ခြင်းအပါအ 0 င်ဖိုင်စစ်ဆင်ရေးများကိုကိုင်တွယ်ရန်ကူညီရန် built-in functions အချို့ကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည် PHP လုပ်ဆောင်ချက်များကို အသုံးပြု. ဖိုင်များကိုတင်ရန်နှင့် download လုပ်ရန်နှင့်ရည်ညွှန်းရန်ကုဒ်များဥပမာများကိုအသေးစိတ်ဖော်ပြရန်အသေးစိတ်ကိုအသေးစိတ်ဖော်ပြထားသည်။
ဖိုင်တင်ခြင်းသည် local files များကိုဆာဗာသို့လွှဲပြောင်းခြင်းလုပ်ငန်းစဉ်ဖြစ်သည်။ PHP တွင် `move_uploaded_file ()` `ဖိုင်တင်ခြင်းကိုကိုင်တွယ်ရန်` `` `$ _files` global variable တွေကိုသုံးပါ။
ပထမ ဦး စွာ HTML ပုံစံတွင်ဖိုင်တင်ခြင်းအတွက် input control ပါ 0 င်ကြောင်းသေချာပါစေ။
<form method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="တင်ပါ"> </form>
ထို့နောက် PHP ကုဒ်တွင်တင်ထားသောဖိုင်အချက်အလက်ကိုရယူရန် `$ _files` ကမ္ဘာလုံးဆိုင်ရာ variable ကိုသုံးပါ။ `$ _files` ဆိုသည်မှာအမည်, အမျိုးအစား, ယာယီသိုလှောင်မှုလမ်းကြောင်းစသည့်သတင်းအချက်အလက်များပါ 0 င်သည့် actirective array ဖြစ်သည်။
IF ($ _server ['ayserver'] === 'post') { $ file = $ _files ['file']; // ဖိုင်မှတ်ခံအချက်အလက် $ filename = $ file ['name']; // ဖိုင်အမည် $ tmppath = $ file ['tmp_name']; // ယာယီဖိုင်လမ်းကြောင်း // Upload file $ destination = 'uploads /' ။ $ filename; Move_Uploaded_File ($ tmppath, $ destination); Echo 'file ကိုအောင်မြင်စွာတင်လိုက်ပြီ'; }
အထက်ပါကုဒ်များတွင်ဖိုင်အချက်အလက်များကို `$ _files ['file file']` `` file_uploaded_file () ကိုသုံးပါ။ ထို့နောက်ယာယီဖိုင်ကိုသတ်မှတ်ထားသောလမ်းကြောင်းသို့ရွှေ့ရန်။ နောက်ဆုံးအနေဖြင့်အောင်မြင်သောအပ်လုဒ်အတွက်ချက်ချင်းသတင်းစကားသည် `ပဲ့တင်သံ၏ကြေညာချက်မှထွက်ပေါ်လာသည်။
File download သည်ဖိုင်များကိုဆာဗာတွင် client သို့လွှဲပြောင်းခြင်းလုပ်ငန်းစဉ်ဖြစ်သည်။ PHP တွင် file download ရယူရန် `readfile ()` function ကိုသုံးပါ။
ဤတွင်ရိုးရှင်းသောဖိုင်ကူးယူခြင်းဥပမာတစ်ခုဖြစ်သည်။
$ file = 'Path / to / file.txt', // (File_exists ($ file)) ကို download လုပ်ရန်ဖိုင်လမ်းကြောင်းကိုသတ်မှတ်ပါ header ('အကြောင်းအရာ - ဖော်ပြချက် - ဖိုင်လွှဲပြောင်းခြင်း'); header ('အကြောင်းအရာအမျိုးအစား: လျှောက်လွှာ / octet-stream'); header ('အကြောင်းအရာ - သဘောထား - ပူးတွဲမှု - ပူးတွဲဖိုင် = filename =' '။ BEADAME ($ file)); header ('အကြောင်းအရာ - လွှဲပြောင်း-encoding: binary'); header ('Expires: 0'); Header ('Cache Control: Post-revalidate, post-check = 0, Post-check = 0'); Header ('PRAGMA: Public'); header ('အကြောင်းအရာ - အရှည်:' ။ ။ ဖိုင် ($ file)); Readfile ($ file); // output ဖိုင်အကြောင်းအရာထွက်ပေါက်ထွက်ပေါက်; } အခြား ပဲ့တင်သံ 'ဖိုင်ကိုမတွေ့ပါ!'; }
ဤကုဒ်တွင်ဖိုင်သည် `file_exists ()` မှတဆင့်ရှိ, ရှိမရှိစစ်ဆေးပါ။ အကယ်. ဖိုင်သည်တည်ရှိပါကသက်ဆိုင်ရာ HTTP header အချက်အလက်များကို (ဖိုင်အမျိုးအစား, ဖိုင်အရွယ်အစား, ဖိုင်အရွယ်အစားစသည်) ကိုသတ်မှတ်ပါ။
အထူးသဖြင့် browser ကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာရန်နှင့် download လုပ်ရန်အတွက် HTTP Type` နှင့် `content-type-` discustose ကိုမှန်ကန်စွာသတ်မှတ်ရန်အလွန်အရေးကြီးကြောင်းသတိပြုသင့်သည်။
ဤဆောင်းပါးသည်ဖိုင်များကိုတင်ရန်နှင့် download လုပ်ရန် PHP လုပ်ဆောင်ချက်များကိုမည်သို့အသုံးပြုရမည်ကိုဖော်ပြသည်။ `$ _files ၏ကမ္ဘာလုံးဆိုင်ရာ variable variable ကိုနှင့်` `oxit_uploaded_file ()` function ကိုသင်အလွယ်တကူဆာဗာမှဖိုင်များကိုအလွယ်တကူ upload တင်နိုင်သည်။ သင့်လျော်သော http header သတင်းအချက်အလက်များကိုသတ်မှတ်ခြင်းနှင့် `readfile ()` `function ကို server သို့ကူးယူနိုင်သည့်ဖိုင်များကိုသင်အောင်မြင်စွာ download လုပ်နိုင်သည်။ ဤကုဒ်နံပါတ်များသည်သင်၏ဖွံ့ဖြိုးတိုးတက်မှုအတွက်အထောက်အကူဖြစ်စေမည်ဟုမျှော်လင့်ပါသည်။