လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ThinkPp File Upload ပြီးပြည့်စုံသောသင်ခန်းစာ - အသေးစိတ်အချက်အလက်များနှင့်အကောင်အထည်ဖော်မှုအသေးစိတ်ရှင်းပြချက်

ThinkPp File Upload ပြီးပြည့်စုံသောသင်ခန်းစာ - အသေးစိတ်အချက်အလက်များနှင့်အကောင်အထည်ဖော်မှုအသေးစိတ်ရှင်းပြချက်

gitbox 2025-08-10

နိဒါန်း

ThinkPpp သည်စွမ်းဆောင်ရည်မြင့်မားသော Opport Source Php Development Php Development Php Development Php Development Php Development Php Development Php Development Php Development ဖြစ်သည်။ ကျိုးကြောင်းဆီလျော်သော configuration နှင့် code အကောင်အထည်ဖော်မှုမှတစ်ဆင့် developer များကဖိုင်တင်ခြင်းလိုအပ်ချက်အမျိုးမျိုးကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ ThinkPpp တွင်ဖိုင်တင်ခြင်းကိုအပြီးသတ်ရန်အတိမ်အနက်ကိုအတိမ်အနက်ဖြင့်ရှင်းပြရန်ဥပမာများကိုဤဆောင်းပါးတွင်ဖော်ပြပါမည်။

ThinkPpP ဖိုင်တင်ခြင်း configuration ကို

configuration ဖိုင်ဖော်ပြချက်

ThinkPpP ၏ဖိုင်တင်ပါးနှင့်ဆက်စပ်သောဆက်တင်များကို Configuration file config.php တွင်ဗဟိုမှစီမံခန့်ခွဲသည်။ သော့ချက် configuration ပစ္စည်းများအောက်ပါအတိုင်းဖြစ်သည် -

 // driver ကိုပုံမှန်အားဖြင့်တင်ပါ
'upload_driver' => 'Local',
// ဖိုင်ချွေတာသည့်လမ်းကြောင်းကိုတင်ပါ
'upload_path' => '/path/to/upload/folder/',
// ဖိုင်အမျိုးအစားများကိုတင်ရန်ခွင့်ပြုသည်
'upload_allow_ext' => 'jpg,png,gif',
// တင်ထားသောဖိုင်အရွယ်အစားကိုခွင့်ပြုပါ(ဒရယ်)
'upload_max_size' => 5242880,

အမျိုးမျိုးသော parameters တွေကိုရှင်းလင်းချက်:

  • Upload_driver
  • Upload_path : ဖိုင်သိုလှောင်မှုလမ်းညွှန်။
  • Upload_allow_ext : တင်ထားသောတင်ထားသောဖိုင် extension များကိုကော်မာဖြင့်ခွဲ ထား. ခွင့်ပြုပါ။
  • Upload_Max_size - အမြင့်ဆုံးတင်ဒါဖိုင်အရွယ်အစား, bytes ရှိယူနစ်။

Configuration Tuning ဥပမာ

စီမံကိန်းလိုအပ်ချက်များအရ, သင်သည် configuration ကိုချိန်ညှိနိုင်သည်။

 'upload_path' => 'public/uploads/',
'upload_allow_ext' => 'jpg,jpeg,png',
'upload_max_size' => 5242880,

ဖိုင်တင်ခြင်းကိုအကောင်အထည်ဖော်ပါ

Front-end ပုံစံပြင်ဆင်မှု

ရှေ့တန်းစာမျက်နှာတွင်ဖိုင်တင်ခြင်းကိုထောက်ပံ့သောပုံစံကိုသင်ပြင်ဆင်ရန်လိုအပ်သည်, ဥပမာတွင်အောက်ပါအတိုင်းဖြစ်သည် -

 <form method="POST" enctype="multipart/form-data" action="{:url('upload')}">
    <input type="file" name="file" />
    <button type="submit">ဖိုင်တင်ပါ</button>
</form>

Encmarpe = "Martwart / Form-data-data" သည် File uploading ပုံစံများအတွက်လိုအပ်သောပိုင်ဆိုင်မှုတစ်ခုဖြစ်ပြီးဒေတာကို binary format ဖြင့်လွှဲပြောင်းပေးသည်။

နောက်ခံအပြောင်းအလဲအတွက်ယုတ္တိဗေဒ

အောက်ပါဥပမာတွင်ပြထားတဲ့အတိုင်း Controller ရှိဖိုင်တင်ပါးထုတ်လုပ်သည့်နည်းလမ်းတစ်ခုရေးပါ။

 namespace app\index\controller;
use think\Controller;
use think\facade\Request;

class Upload extends Controller
{
    public function upload()
    {
        $file = Request::file('file');
        // ဖိုင်အရွယ်အစားကိုစစ်ဆေးပြီး၎င်းကိုရွှေ့ပါ
        $result = $file->validate(['size' => 5242880, 'ext' => 'jpg,jpeg,png'])->move('public/uploads/');
        if ($result) {
            // အောင်မြင်စွာတင်ပါ
            echo '文件အောင်မြင်စွာတင်ပါ:' . $result->getSaveName();
        } else {
            // တင်ပါးမအောင်မြင်ပါ
            echo '文件တင်ပါးမအောင်မြင်ပါ:' . $file->getError();
        }
    }
}

အထက်ပါကုဒ်သည်တင်ထားသောဖိုင်ကိုပထမ ဦး စွာရရှိသည်, အရွယ်အစားကိုလုပ်ဆောင်သည်။ အတည်ပြုချက်ကိုရိုက်ထည့်ပြီးအောင်မြင်မှုအပြီးဖိုင်ကိုသတ်မှတ်ထားသောလမ်းညွှန်သို့သိမ်းဆည်းပြီးရလဒ်ကိုပြန်ပို့သည်။

အကျဉ်းချုပ်

ကျိုးကြောင်းဆီလျော်သော configuration နှင့်ရိုးရှင်းသောကုဒ်မှတဆင့် TerryPPP မူဘောင်ရှိဖိုင်တင်ခြင်းလုပ်ဆောင်ချက်ကိုအကောင်အထည်ဖော်ရန်အလွန်အဆင်ပြေသည်။ ဤဆောင်းပါးသည်ပြင်ဆင်ခြင်းဖိုင်ချိန်ညှိချက်များ, ရှေ့အဆင့်ပုံစံရေးသားခြင်းနှင့်နောက်ခံ upload လုပ်ခြင်းလုပ်ငန်းစဉ်ကိုမိတ်ဆက်ပေးပြီး developer များကတင်ခြင်းနှင့်ဖွံ့ဖြိုးတိုးတက်မှု၏အဓိကအချက်များကိုလျင်မြန်စွာနားလည်သဘောပေါက်စေသည်။