လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ဖိုင်တင်ခြင်းစစ်ဆင်ရေးပြီးမြောက်ရန်အဓိကလုပ်ဆောင်ချက်ကိုမည်သို့အသုံးပြုရမည်နည်း။ ပြီးပြည့်စုံသောလုပ်ငန်းစဉ်နှင့်ဥပမာအားဖြင့်ခွဲခြမ်းစိတ်ဖြာ

ဖိုင်တင်ခြင်းစစ်ဆင်ရေးပြီးမြောက်ရန်အဓိကလုပ်ဆောင်ချက်ကိုမည်သို့အသုံးပြုရမည်နည်း။ ပြီးပြည့်စုံသောလုပ်ငန်းစဉ်နှင့်ဥပမာအားဖြင့်ခွဲခြမ်းစိတ်ဖြာ

M66 2025-06-22

File Upload သည် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဘုံအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ PHP ကိုယ်တိုင်သည် C ဘာသာစကားနှင့်ဆင်တူသော အဓိကလုပ်ဆောင်ချက်တစ်ခု မရှိသော်လည်းကျွန်ုပ်တို့သည် အဓိက လုပ်ဆောင်မှု၏ဖွဲ့စည်းပုံကိုတုပကာ function အတွင်းရှိဖိုင်တင်ခြင်း၏စီးပွားရေးဆိုင်ရာယုတ္တိဗေဒကိုအာရုံစူးစိုက်နိုင်ပြီး,

ဤဆောင်းပါးသည်ဖိုင်တင်ခြင်းလုပ်ငန်းများလျင်မြန်စွာနားလည်ရန်နှင့်အကောင်အထည်ဖော်ရန်အတွက်ဖြည့်စွက်ထားသောတင်သည့်လုပ်ငန်းစဉ်နှင့်နမူနာကုဒ်များအပါအ 0 င်ဖိုင်တင်ခြင်းလုပ်ငန်းများကိုဖြည့်ဆည်းရန် အဓိက လုပ်ဆောင်မှုကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။


ဖိုင်တင်ခြင်း၏အခြေခံဖြစ်စဉ်ကို

  1. ရှေ့တန်းစာမျက်နှာပေါ်ရှိ Upload ပုံစံကိုဖန်တီးခြင်း အသုံးပြုသူများသည်ဖိုင်များကို HTML ပုံစံများဖြင့်ဖိုင်များကိုရွေးချယ်ပြီးဖိုင်ကိုမှန်ကန်စွာတင်နိုင်ကြောင်းသေချာစေရန်ပုံစံ၏ Entytpe ကို သတ်မှတ်ရမည်

  2. တင်ထားသောဖိုင်များကိုလက်ခံရရှိသည်
    PHP သည် $ _files hyperglobal ခင်းကျင်းမှတဆင့်တင်ထားသောဖိုင်အချက်အလက်များကိုလက်ခံရရှိသည်။

  3. အတည်ပြုဖိုင် <br> <br> ဖိုင်အမျိုးအစား, အရွယ်အစားကန့်သတ်, လုံခြုံရေးစစ်ဆေးမှုများကိုစစ်ဆေးခြင်းအပါအ 0 င်

  4. ဖိုင်များကိုပစ်မှတ်လမ်းညွှန်သို့ရွှေ့ပါ ယာယီဖိုင်ကိုသတ်မှတ်ထားသော directory သို့ရွှေ့ရန် Move_Uploaded_File function ကိုသုံးပါ။

  5. အပြောင်းအလဲနဲ့ရလဒ်များကိုပြန်သွားပါ အသုံးပြုသူအားအဘယ်ကြောင့် Upload သည်အဘယ်ကြောင့်အောင်မြင်သည်သို့မဟုတ်မအောင်မြင်ပါ။


အဓိကလုပ်ဆောင်ချက်ကို အသုံးပြု. တင်ပါ

များသောအားဖြင့် PHP script များတွင် အဓိက လုပ်ဆောင်ချက်မရှိပါ။ သို့သော်ကျွန်ုပ်တို့သည် အဓိက လုပ်ဆောင်မှုကိုစိတ်ကြိုက်ပြုပြင်နိုင်သည်, သို့သော် function ကိုစီးပွားရေးယုတ္တိဗေဒကိုရေးဆွဲပြီး function ကိုရေးပါ။


နမူနာကုဒ်

အောက်တွင်ပြီးပြည့်စုံသောဖိုင်တင်ခြင်းဥပမာတစ်ခုဖြစ်ပြီး အဓိက လုပ်ဆောင်မှုကို အသုံးပြု. upload စစ်ဆင်ရေးကိုမည်သို့ဖြည့်ရမည်ကိုပြသသည်။ ဥပမာတွင်အသုံးပြုသော URL domain အမည်ကို M66.NET ဖြင့်တူညီစွာအစားထိုးသည်။

 <?php
function main() {
    // ဖိုင်ကိုတင်ခြင်းအတွက်ပစ်မှတ်လမ်းညွှန်
    $targetDir = "uploads/";
    
    // upload လမ်းညွှန်တည်ရှိမလားစစ်ဆေးပါ,မတည်ရှိပါကဖန်တီးပါ
    if (!is_dir($targetDir)) {
        mkdir($targetDir, 0755, true);
    }
    
    // ဖိုင်များတင်ခြင်းရှိမရှိစစ်ဆေးပါ
    if (!isset($_FILES['file'])) {
        echo "တင်ထားသောဖိုင်ကိုရှာဖွေတွေ့ရှိခြင်းမရှိပါ";
        return;
    }
    
    $file = $_FILES['file'];
    
    // upload အမှားများကိုစစ်ဆေးပါ
    if ($file['error'] !== UPLOAD_ERR_OK) {
        echo "ဖိုင်တင်ပါးတွင်အမှားတစ်ခုဖြစ်ပွားခဲ့သည်,အမှားကုဒ်:" . $file['error'];
        return;
    }
    
    // ဖိုင်အရွယ်အစားကန့်သတ်,အများဆုံး5MB
    $maxSize = 5 * 1024 * 1024;
    if ($file['size'] > $maxSize) {
        echo "ဖိုင်ကြီးကြီး,မကျော်လွန်လို့မရဘူး5MB";
        return;
    }
    
    // ခွင့်ပြုထားသောဖိုင် extension များကိုခွင့်ပြုသည်
    $allowedExt = ['jpg', 'jpeg', 'png', 'gif', 'pdf'];
    $fileExt = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION));
    
    if (!in_array($fileExt, $allowedExt)) {
        echo "မထောက်ခံဖိုင်အမျိုးအစားများ";
        return;
    }
    
    // ထူးခြားသောဖိုင်အမည်ကိုထုတ်လုပ်ပါ,ထပ်တူအမည်များကို overwriting ရှောင်ကြဉ်ပါ
    $newFileName = uniqid() . "." . $fileExt;
    $targetFile = $targetDir . $newFileName;
    
    // directory ကိုပစ်မှတ်ထားရန်ယာယီဖိုင်များကိုရွှေ့ပါ
    if (move_uploaded_file($file['tmp_name'], $targetFile)) {
        echo "အောင်မြင်စွာဖိုင်တင်ပါ!link ကိုသွားပါ:";
        echo "<a href=\"https://m66.net/" . $targetFile . "\">https://m66.net/" . $targetFile . "</a>";
    } else {
        echo "ဖိုင်တင်ခြင်းမအောင်မြင်ပါ,ဖိုင်ကိုရွေ့လျားသောအခါအမှားတစ်ခုဖြစ်ပွားခဲ့သည်";
    }
}

// တယ်လီဖုန်းဆက်ခြင်းmainfunction execute upload ယုတ္တိဗေဒ
main();
?>

Front-end upload ပုံစံဥပမာ

 <form action="https://m66.net/upload.php" method="post" enctype="multipart/form-data">
    <label for="file">File Upload ကိုရွေးချယ်ပါ:</label>
    <input type="file" name="file" id="file" required>
    <button type="submit">တင်ပါ</button>
</form>

ဥပမာပြပါ

  • အထက်ပါ PHPP ဥပမာသည်တင်ထားသောဖိုင်ကိုသိမ်းဆည်းထားသည့်လမ်းညွှန်သည် uploads / directory ကိုအလိုအလျောက်ဖန်တီးသည် (ခွင့်ပြုချက်သည် 0755) ကိုအလိုအလျောက်ဖန်တီးသည်။

  • Upload သည်အောင်မြင်သောအခါ, စာမျက်နှာသည် M66.net နှင့်လွယ်ကူစွာဝင်ရောက်ခွင့်အတွက်ဒိုမိန်းအမည်အဖြစ်လက်လှမ်းမီဆက်သွယ်မှုကိုထုတ်လွှင့်လိမ့်မည်။

  • ဘေးကင်းလုံခြုံမှုနှင့်သတ်မှတ်ချက်ကိုသေချာစေရန်ဖိုင်အရွယ်အစားနှင့်အမျိုးအစားကိုကုဒ်တွင်ကန့်သတ်ထားသည်။

  • အဓိက လုပ်ဆောင်ချက်ကို encapsulating အားဖြင့် Code Logic သည်ရှင်းလင်းရန်လွယ်ကူသည်။


အချုပ်အားဖြင့် PHP သည်ရိုးရာသဘောမျိုးတွင် အဓိက လုပ်ဆောင်မှုတွင်အဓိကလုပ်ဆောင်မှုမရှိပေမဲ့ အဓိက လုပ်ဆောင်မှုဖွဲ့စည်းပုံကို simulating လုပ်ခြင်းသည်ဖိုင်တင်ခြင်းကုဒ်ကို Modular နှင့် Clear ကို ပိုမို. ရှင်းလင်းစေနိုင်သည်။ ဖိုင်တင်ခြင်းလုပ်ငန်းစဉ်ကိုကျွမ်းကျင်ပြီးကျိုးကြောင်းဆီလျော်သော function encapsulation များကိုပေါင်းစပ်ခြင်းသည်သင်၏ PHP application များကိုအားကောင်းသည့်အရာနှင့်ထိန်းသိမ်းရန်လွယ်ကူစေနိုင်သည်။