PHP Edge သည်အားကောင်းသော web development ဖွံ့ဖြိုးတိုးတက်မှုအတွက်မူဘောင်ဖြစ်သည်။ ဖိုင်များကို download လုပ်ရန်၎င်းကို အသုံးပြု. တစ်ခါတစ်ရံတွင် barbled file name များ၏ပြ problem နာကိုသင်ကြုံတွေ့ရသည်။ များသောအားဖြင့်ဖိုင်အမည်တွင်တရုတ်နှင့်ဂျပန်အထူးအက္ခရာများကဲ့သို့သော ASCII အက္ခရာများပါ 0 င်သည်။ ဤဆောင်းပါးသည် Php Edge Download ဖိုင်အမည်များကို barbled code များကိုဖြေရှင်းရန်နည်းလမ်းများစွာကိုမိတ်ဆက်ပေးလိမ့်မည်။
ဖိုင်နာမည်တွင်အထူးအက္ခရာများသို့မဟုတ် ascii မဟုတ်သောဇာတ်ကောင်များပါ 0 င်သည့်အခါဖိုင်အိတ်အမည်ရှိဖိုင်ကို garbled file ကိုများသောအားဖြင့်တွေ့ရှိရသည်။ ဤစာလုံးများကိုမှန်ကန်စွာပြုပြင်ရန် browser မအောင်မြင်ပါကဖိုင်အမည်ကိုအမှိုက်များပေါ်လာလိမ့်မည်။ အထူးသဖြင့်ကွဲပြားခြားနားသော operating systems နှင့် browser များအကြား encoding ပြ problems နာများအထူးသဖြင့်သိသာဖြစ်ကြသည်။
urlelenode function ကိုမှတစ်ဆင့်ဖိုင်အမည်ရှိ ascii ဇာတ်ကောင်များသည်၎င်းတို့ကို browser သို့မှန်ကန်စွာကူးစက်နိုင်ကြောင်းသေချာစေရန် URL encoded ဖြစ်နိုင်သည်။ ဤတွင်နမူနာကုဒ်ဖြစ်သည်။
$ filename = 'filename.txt'; $ encodedfilename = urlenode ($ filename); header ('အကြောင်းအရာ - သဘောထား - ပူးတွဲမှု - ပူးတွဲဖိုင်) ။ filename = "' '။ $ encodedfilename ။
ဤဥပမာတွင် urlenode function သည် browser ကိုမှန်ကန်စွာအသိအမှတ်ပြုရန်နှင့်ပြသရန်သေချာစေရန်ဖိုင်အမည်ကို url format ထဲသို့ encodes ။
URL encoding အပြင် header function မှတဆင့် encoding method ကိုကျွန်ုပ်တို့လည်းသတ်မှတ်နိုင်သည်။ အသုံးအများဆုံး encoding formats utf-8 နှင့် gbk ပါဝင်သည်။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
$ filename = 'filename.txt'; $ encodedfilename = mb_convertert_encoding ($ fileName, gbk ',' utf-8 '); header ('အကြောင်းအရာ - သဘောထား - ပူးတွဲမှု - ပူးတွဲဖိုင်) ။ filename = "' '။ $ encodedfilename ။
ဤဥပမာတွင် UT UTF-8 မှ GBK format ကိုပြောင်းလဲရန် MB_ConVert_encoding function ကို အသုံးပြု. Browser Parser သည်သတ်မှတ်ထားသော encoding နှင့်အညီခွဲခြမ်းစိတ်ဖြာခြင်းကိုအသုံးပြုသည်။
Filename ၏ encoding ကိုကိုင်တွယ်ရန်အကြောင်းအရာ - သဘောထား - သဘောထားရှိ header ရှိ filename * parameter ကိုသုံးနိုင်သည်။ ဤချဉ်းကပ်မှုသည်များသောအားဖြင့်ပိုမိုကျယ်ပြန့်သောအက္ခရာများကိုထောက်ပံ့သော browser များနှင့်သက်ဆိုင်သည်။ ဤတွင်နမူနာကုဒ်ဖြစ်သည်။
$ filename = 'filename.txt'; $ encodedfilename = RAWURLENDEDEDEDED ($ filename); header ('အကြောင်းအရာ - သဘောထား - ပူးတွဲမှု - ပူးတွဲမှု, filename * = "Utf-8 \' \ '' '။ ' encodedfilename ။
ဤဥပမာတွင် URL သို့ RAWurLenDode function ကို အသုံးပြု. ဖိုင်အမည်ကို encode လုပ်ပြီး Filename * Parameter မှသတ်မှတ်ထားသည့် UTF-8 ဇာတ်ကောင်ကိုသတ်မှတ်ပါ။ ဤသည် browser များပိုမိုများပြားစွာ for name ကိုမှန်ကန်စွာ parse နိုင်ကြောင်းသေချာစေသည်။
File Download အတွက် PHP Edge ကိုအသုံးပြုသောအခါ, We can choose to use the filename* parameters in urlencode, mb_convert_encoding, or Content-Disposition to handle the garbled file name. concled code ကိုရှောင်ရှားရန်သတ်သတ်မှတ်မှတ်အခြေအနေအရအသင့်တော်ဆုံးနည်းလမ်းကိုရွေးချယ်ပါ။