Web စီမံကိန်းဖွံ့ဖြိုးတိုးတက်မှုတွင်ဒေတာများတင်သွင်းခြင်းသည်ဘုံလိုအပ်ချက်များအနက်မှတစ်ခုဖြစ်သည်။ ThinkPhp6 သည် Finish Propload ယန္တရားတစ်ခုဖြစ်ပြီး MySQL ကိုယ်တိုင်ကအထူးသဖြင့်ဝန်အချက်အလက်များအနေဖြင့်အထူးသဖြင့် 0 န် ဆောင်မှုဆိုင်ရာအချက်အလက်များအမိန့်ရှိသည်။ ဤဆောင်းပါးသည်တည်ငြိမ်ပြီးထိရောက်သောအရေးအကြီးဆုံးတင်သွင်းမှုဖြေရှင်းချက်ရရှိရန်နှစ် ဦး ကိုမည်သို့ပေါင်းစပ်ရမည်ကိုခြေလှမ်းများဖြင့်ရှင်းပြပါမည်။
တရားဝင်မစတင်မီအောက်ပါအခြေအနေများကိုသေချာစေရန်လိုအပ်သည် -
တင်သွင်းသောဒေတာဖိုင်များကိုရွေးရန်နှင့်တင်ရန်အသုံးပြုသူများအတွက်ဖိုင်များကို တင်. တင်ရန်အတွက် interface တစ်ခုဖန်တီးရန် interface တစ်ခုဖန်တီးသည်။
use think\facade\View;
use think\facade\Request;
public function uploadFile()
{
return View::fetch('upload_file');
}
ဖိုင်ကိုပုံစံဖြင့်တင်ပြီးနောက်တင်ထားသောဖိုင်ကိုအတည်ပြုပြီးသိမ်းဆည်းရန်လိုအပ်သည်။ အောက်ဖော်ပြပါကုဒ်ဥပမာသည်ဖိုင်ပြုပြင်ခြင်းလုပ်ငန်းစဉ်ကိုပြသည်။
public function importData()
{
$file = Request::file('file');
$savePath = 'public/uploads/';
$info = $file->validate([
'size' => 2048000,
'ext' => 'csv,xls,xlsx'
])->move($savePath);
if ($info) {
$filename = $info->getSaveName();
$filePath = $savePath . $filename;
// ဒေတာတင်သွင်းမှုယုတ္တိဗေဒ Execute လုပ်ပါ
} else {
// တင်ဒါပျက်ကွက်ခြင်းယုတ္တိဗေဒတင်ခြင်း
}
}
အပ်လုဒ်သည်အောင်မြင်သောနောက်တွင်သွင်းကုန်လုပ်ငန်းစဉ်သည်နောက်ထပ်ဖြစ်သည်။ MySQL ၏ Load Data ဒေသကြားသလို ဖိုင်များသည်ဖိုင်များကိုလျင်မြန်စွာဖတ်ပြီးအချက်အလက်များကိုဇယားများထဲသို့ထည့်သွင်းရန်ခွင့်ပြုသည်။
use think\facade\Db;
public function importData()
{
// ...တင်ပြီးနောက်, လမ်းကြောင်းနှင့်ဖိုင်အမည်ကိုရယူပါ
$filename = $info->getSaveName();
$filePath = $savePath . $filename;
$tableName = 'your_table_name'; // အမှန်တကယ်ဇယားအမည်နှင့်အစားထိုးလိုက်ပါ
$sql = "LOAD DATA LOCAL INFILE '{$filePath}' INTO TABLE `{$tableName}` FIELDS TERMINATED BY ','";
Db::connect()->execute($sql);
}
ဒေတာတင်သွင်းမှုပြီးဆုံးသွားသောအခါ, မှတ်တမ်းများကိုမှတ်တမ်းတင်ခြင်း, ရလဒ်များကိုပြသခြင်း,
public function importData()
{
// ...ယခင်အဆင့်များချန်လှပ်ထားသည်
$sql = "LOAD DATA LOCAL INFILE '{$filePath}' INTO TABLE `{$tableName}` FIELDS TERMINATED BY ','";
Db::connect()->execute($sql);
// သွင်းကုန်ရလဒ်အပြောင်းအလဲနဲ့ယုတ္တိဗေဒကိုထည့်သွင်းနိုင်ပါတယ်
// တင်သွင်းမှုမှတ်တမ်းများကိုနောက်ဆက်တွဲခြေရာခံခြင်းအတွက်မှတ်တမ်းတင်နိုင်သည်
}
အထက်ပါအဆင့်များမှတစ်ဆင့် MySQL ၏တင်သွင်းမှုလုပ်ငန်းလည်ပတ်မှုသည် The Takephp6 စီမံကိန်းမှတင်သွင်းမှုကိုထိရောက်စွာအကောင်အထည်ဖော်နိုင်ပါသည်။ ကျိုးကြောင်းဆီလျော်သောအမှားကိုင်တွယ်ခြင်းနှင့်သစ်ထုတ်လုပ်ရေးယန္တရားများဖြင့်ပူးပေါင်းဆောင်ရွက်ခြင်းကအချက်အလက်တင်သွင်းမှု၏တည်ငြိမ်မှုနှင့်ထိန်းသိမ်းခြင်းကိုသိသိသာသာတိုးတက်စေနိုင်သည်။ ဤဖြေရှင်းချက်သည် e-commerce, data data စီမံခန့်ခွဲမှုစနစ်များနှင့်အကြောင်းအရာစီမံခန့်ခွဲမှုစနစ်များဖြစ်သောအကြောင်းအရာစီမံခန့်ခွဲမှုစနစ်များအတွက်သင့်တော်သည်။