လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP file upload နှင့် download function tutorial: scratch မှအပြည့်အဝဥပမာကိုတည်ဆောက်ပါ

PHP file upload နှင့် download function tutorial: scratch မှအပြည့်အဝဥပမာကိုတည်ဆောက်ပါ

M66 2025-10-09

PHP သည်ဖိုင်တင်ခြင်းနှင့်လုပ်ဆောင်ချက်များကိုဒေါင်းလုပ်လုပ်ပါ

0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဖိုင်တင်ခြင်းနှင့်ဒေါင်းလုပ်များသည်အလွန်အသုံးများသောလုပ်ဆောင်မှုများဖြစ်သည်။ ဓာတ်ပုံများ, စာရွက်စာတမ်းများသို့မဟုတ်ချုံ့ထားသော packages များဖြစ်စေသည်ဖြစ်စေ 0 ဘ်ဆိုဒ်များစွာသည်တင်ရန်နှင့်ဒေါင်းလုပ်လုပ်ရန်အတွက် 0 င်ငွေများကိုပေးသည်။ ဤဆောင်းပါးသည် HTML ပုံစံများအပါအ 0 င်ရိုးရှင်းသောဖိုင်တင်ခြင်းနှင့် download function များကိုရေးရန် PHP ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။

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

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

 <form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="တင်ပါ">
</form>

အထက်ကုဒ်တွင်:

  • action attribute သည် Upload.php အဖြစ်ပုံစံတင်သွင်းမှုအတွက်လုပ်ဆောင်မှု script ကိုသတ်မှတ်သည်
  • အဆိုပါနည်းလမ်း attribute ကို တင်ရန် သတ်မှတ်ထားသည်
  • File Uploads ကိုထောက်ပံ့ရန်အသုံးပြုသော Martspart / Form-Data သည် Martspart / Form-Data ဖြစ်သည်

ထို့နောက် Upload.php ဖိုင်တွင် backend logic ကိုရေးပါ။

 <?php
$targetDir = "uploads/"; // တင်ပါ文件的存储目录
$targetFile = $targetDir . basename($_FILES["file"]["name"]); // တင်ပါ后的文件路径

// ဖိုင်အမျိုးအစားကိုစစ်ဆေးပါ
$fileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION));
$allowedTypes = array("jpg", "jpeg", "png", "gif");

if (!in_array($fileType, $allowedTypes)) {
    echo "只允许တင်ပါ图片文件!";
    exit;
}

// ဖိုင်များကိုသတ်မှတ်ထားသော directory သို့ရွှေ့ပါ
if (move_uploaded_file($_FILES["file"]["tmp_name"], $targetFile)) {
    echo "文件တင်ပါ成功!";
} else {
    echo "文件တင်ပါ失败!";
}
?>

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

File Download function ကိုအကောင်အထည်ဖော်ခြင်း

ဖိုင်တင်ပြီးသည်နှင့်စာမျက်နှာပေါ်တွင် download ရယူရန်အတွက်ရရှိနိုင်သည့်ဖိုင်များစာရင်းကိုကျွန်ုပ်တို့တင်ပြနိုင်ပါသည်။ ဥပမာအားဖြင့်:

 <?php
$files = glob("uploads/*"); // ရယူuploadsdirectory ထဲမှာဖိုင်အားလုံး

foreach ($files as $file) {
    $fileName = basename($file);
    echo "<a href='download.php?file={$fileName}'>{$fileName}</a><br>";
}
?>

အထက်ဖော်ပြပါကုဒ်သည်ဖိုင်တစ်ခုစီအတွက် uploads directory ကိုစ ကင် ဖတ်ရန်နှင့်ဖိုင်တစ်ခုစီအတွက် clickable download hyperlink ကိုထုတ်လုပ်ရန်အသုံးပြုသည်။

ထို့နောက် download.php ဖိုင်တွင် download processing logic ကိုရေးပါ။

 <?php
$fileName = $_GET["file"];
$filePath = "uploads/" . $fileName;

if (file_exists($filePath)) {
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename={$fileName}");
    readfile($filePath);
} else {
    echo "ဖိုင်မရှိပါ!";
}
?>

ဖိုင်သည်ဖိုင်သည် File_exists မှတဆင့်တည်ရှိခြင်းရှိမရှိစစ်ဆေးသည်။ လုံခြုံရေးပြ issues နာများကိုကာကွယ်ရန်အတွက်ဖိုင်အမည်ကို filtering filtering နှင့်ခွင့်ပြုချက်စစ်ဆေးခြင်းကိုထည့်သွင်းရန်အကြံပြုသည်။

အကျဉ်းချုပ်

ဤဆောင်းပါးတွင်ဥပမာများကဖိုင်တင်ခြင်းကိုအကောင်အထည်ဖော်ခြင်းနှင့် PHP ရှိလုပ်ဆောင်မှုများကိုဒေါင်းလုပ်လုပ်ခြင်း၏အခြေခံနည်းလမ်းများကိုသင်မြန်မြန်ပြုလုပ်နိုင်သည်။ နမူနာသည်အတော်အတန်အခြေခံကျသော်လည်း၎င်းသည်ဖိုင်အမျိုးအစားလုပ်ငန်းစဉ်၏လုပ်ငန်းစဉ်ကိုနားလည်ရန်အလွန်သင့်တော်သည်။ အမှန်တကယ်စီမံကိန်းများအရဖိုင်အရွယ်အစားကန့်သတ်ချက်များတိုးပွားလာခြင်း,

မကြာသေးမီ ဆောင်းပါးများ