မျက်မှောက်ခေတ် Web Development တွင်ဖိုင်တင်ခြင်းသည်စနစ်တိုင်း၏မရှိမဖြစ်လိုအပ်သောအစိတ်အပိုင်းတစ်ခုဖြစ်သည်။ သုံးစွဲသူ Avatar, ကိုယ်ရေးရာဇဝင်, ဓာတ်ပုံများသို့မဟုတ်စာရွက်စာတမ်းများတင်ခြင်းရှိမရှိ developer များက၎င်း၏အခြေခံမူများနှင့်လုံခြုံစိတ်ချရသောအကောင်အထည်ဖော်မှုနည်းလမ်းများကိုကျွမ်းကျင်ရန်လိုအပ်သည်။ PHP သည်ဖိုင်တင်ခြင်းအတွက်အပြည့်အဝ built-in အထောက်အပံ့များပေးပြီးသင့်အားဆက်စပ်သောလုပ်ဆောင်မှုများကိုလျင်မြန်စွာတည်ဆောက်ရန်ခွင့်ပြုသည်။
PHP ဖိုင်များကိုတင်ခြင်းလုပ်ငန်းစဉ်သည်များသောအားဖြင့်အဓိကအဆင့်နှစ်ခု - ရှေ့ဆုံးပုံစံနှင့်နောက်ခံပုံစံနှင့်နောက်ခံပုံစံနှင့် back-end ည့်ခံစာဖြည်းဖြည်းချင်းပါ 0 င်သည်။ ဘရောက်ဇာသည်ဖိုင်ကိုဖိုင်ကိုပုံစံဖြင့်ဖြည့်ဆည်းပေးပြီး PHP သည်ဖိုင်ကိုခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်သိမ်းဆည်းခြင်းအတွက်တာဝန်ရှိသည်။ ဤပုံစံကိုမှန်ကန်သော encoding type ဖြင့်သတ်မှတ်ထားရမည်ကိုသတိပြုသင့်သည်။
File Upload ကိုအကောင်အထည်ဖော်ရန်ပထမအဆင့်မှာ upload ပုံစံကိုဖန်တီးရန်ဖြစ်သည်။ ပုံစံ၏ encment ရာတဲကို အောက်ပါအတိုင်း Martspart / Form-data ကိုသတ်မှတ်ရမည်။
<form action="upload.php" method="post" enctype="multipart/form-data">
<label>ဖိုင်တစ်ခုရွေးပါ:</label>
<input type="file" name="file">
<input type="submit" value="ဖိုင်တင်ပါ">
</form>
အသုံးပြုသူသည်ပုံစံကိုတင်ပြသောအခါ PHP သည် File Information ကို $ _files array မှတဆင့်လက်ခံရရှိလိမ့်မည်။ ဤတွင်အခြေခံလုပ်ဆောင်ချက်ဥပမာဖြစ်သည်။
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_FILES['file'])) {
$file = $_FILES['file'];
// upload အောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($file['error'] === UPLOAD_ERR_OK) {
$upload_dir = 'uploads/';
$upload_file = $upload_dir . basename($file['name']);
// ဖိုင်များကိုသတ်မှတ်ထားသော directory သို့ရွှေ့ပါ
if (move_uploaded_file($file['tmp_name'], $upload_file)) {
echo "အောင်မြင်စွာဖိုင်တင်ပါ:" . htmlspecialchars($upload_file);
} else {
echo "ဖိုင်တင်ခြင်းမအောင်မြင်ပါ。";
}
} else {
echo "upload တင်စဉ်အတွင်းအမှားတစ်ခုဖြစ်ပွားခဲ့သည်,အမှားကုဒ်:" . $file['error'];
}
}
}
လုံခြုံရေးဆိုင်ရာပြ issues နာများသည်ဖိုင်တင်ခြင်းများတွင်အရေးအကြီးဆုံးလင့်များဖြစ်သည်။ အန္တရာယ်ရှိသောဖိုင်များသည်ဆာဗာကိုတိုက်ခိုက်ရန်သို့မဟုတ်သတင်းအချက်အလက်များပေါက်ကြားရန်ဖြစ်ပေါ်စေနိုင်သည်။
developer များက executable scripts သို့မဟုတ် masquerading ဖိုင်များကိုကာကွယ်ရန်တင်ရန်ခွင့်ပြုထားသောဖိုင်များအမျိုးအစားများကိုကန့်သတ်သင့်သည်။ extension ကိုရရှိရန် Pathinfo function ကိုသင်အသုံးပြုနိုင်သည်။
$allowed_types = ['jpg', 'jpeg', 'png', 'gif', 'pdf'];
$file_extension = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION));
if (!in_array($file_extension, $allowed_types)) {
echo "ခွင့်ပြုချက်မရှိသောဖိုင်အမျိုးအစားများ。";
}
အရင်းအမြစ်များအလွဲသုံးစားမှုကိုရှောင်ရှားရန်နှင့်ကြီးမားသောဖိုင်များအားဆာဗာစွမ်းဆောင်ရည်နှေးကွေးစေရန်အတွက်ဖိုင်အရွယ်အစားကန့်သတ်ချက်ကိုသတ်မှတ်သင့်သည်။ အောက်ပါပစ္စည်းများကို PHPP.ini တွင်ပြင်ဆင်ပါ။
ကုဒ်နံပါတ်ကိုလည်းကန့်သတ်ထားသင့်သည်။
if ($file['size'] > 2 * 1024 * 1024) {
echo "ဖိုင်ကြီးကြီး,အများဆုံးခွင့်ပြုပါ2MB。";
}
ဤဆောင်းပါး၏ရှင်းလင်းချက်အားဖြင့် PHP file upload ၏ပြီးပြည့်စုံသောလုပ်ငန်းစဉ်နှင့်အခြေခံလုံခြုံရေးနည်းဗျူဟာများကိုသင်ကျွမ်းကျင်စွာပြုလုပ်နိုင်သည်။ ဖိုင်တင်ခြင်းသည်ရိုးရှင်းစွာရိုးရိုးရှင်းရှင်းပုံရသည်, တင်ခြင်းပုံစံများ, အမျိုးအစားများနှင့်အရွယ်အစားများကိုပိုမိုအကျိုးသင့်အကြောင်းသင့်ရှိပုံ,