လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> တင်သည့်အခါပုံကိုအလိုအလျောက်လှန်လိုက်ပါ

တင်သည့်အခါပုံကိုအလိုအလျောက်လှန်လိုက်ပါ

M66 2025-05-17

ကိစ္စရပ်အတော်များများတွင်တင်ထားသောရုပ်ပုံများကိုရိုက်ကူးခြင်းကြောင့်တင်ထားသောရုပ်ပုံများကိုဆာဗာဘေးတွင်လှန်ပစ်ရန်လိုအပ်သည်။ PHP ကိုအသုံးပြုသောအခါတင်ထားသောတင်ထားသောပုံများကိုအလိုအလျောက်လှန်လှောကြည့်ရှုရန်မည်သို့ပြုလုပ်ရမည်နည်း။ ဤဆောင်းပါးသည် PHP နှင့် GD စာကြည့်တိုက်များကိုပုံများတင်ရန်နှင့်၎င်းတို့ကိုတင်သည့်အခါအလိုအလျောက်လှန်လှောကြည့်ရှုရန်မည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါမည်။

1 ။ GD စာကြည့်တိုက်မိတ်ဆက်ပါ

PHP သည် GD စာကြည့်တိုက်တွင်ပါ 0 င်ပြီး Image processing အတွက်အသုံးပြုနိုင်သည်။ ပထမ ဦး စွာသင်၏ PHP ပတ် 0 န်းကျင်တွင် GD စာကြည့်တိုက်ပါ 0 င်ကြောင်းသေချာပါစေ။ အောက်ပါကုဒ်ကိုဖွင့်ခြင်းဖြင့် GD စာကြည့်တိုက်ကိုဖွင့်ထားသလားစစ်ဆေးနိုင်သည်။

 <?php
if (extension_loaded('gd')) {
    echo "GDစာကြည့်တိုက်ကိုဖွင့်ထားသည်!";
} else {
    echo "GDစာကြည့်တိုက်ကိုဖွင့်မထားပါ!";
}
?>

2 ။ ပုံကိုတင်ပြီးလှန်လိုက်ပါ

ရုပ်ပုံများကိုတင်သည့်အခါလှန်လှောကြည့်ရှုရန်မည်သို့ပြသနိုင်မည်ကိုသရုပ်ပြရန်, ရိုးရိုးပုံတင်ခြင်းပုံစံနှင့်အပြောင်းအလဲနဲ့ပြုပြင်ခြင်း ဤနေရာတွင်တင်ထားသောပုံစံနှင့်သက်ဆိုင်ရာ processing processing php code:

HTML upload ပုံစံ

 <!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Image Upload</title>
</head>
<body>
    <form action="upload.php" method="post" enctype="multipart/form-data">
        <label for="file">ပုံကိုရွေးချယ်ပါ:</label>
        <input type="file" name="file" id="file" required>
        <button type="submit">တင်ပါ</button>
    </form>
</body>
</html>

image upload နှင့်လှန်လှဲလုပ်ပါ

 <?php
// 配置တင်ပါ的目标目录
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["file"]["name"]);

// ဖိုင်သည်ပုံတစ်ပုံရှိမရှိစစ်ဆေးပါ
if (isset($_POST["submit"])) {
    $check = getimagesize($_FILES["file"]["tmp_name"]);
    if ($check !== false) {
        echo "ဖိုင်သည်ပုံတစ်ပုံဖြစ်သည် - " . $check["mime"] . ".";
    } else {
        echo "ဖိုင်သည်ပုံမဟုတ်ပါ。";
        exit;
    }
}

// 移动တင်ပါ的စာချုပ်စာတမ်း到目标目录
if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
    echo "စာချုပ်စာတမ်း " . htmlspecialchars(basename($_FILES["file"]["name"])) . " 已成功တင်ပါ。";
} else {
    echo "စိတ်မကောင်းပါဘူး,တင်ပါစာချုပ်စာတမ်း时出错。";
}

// image လှန်အပြောင်းအလဲနဲ့
function flipImage($filePath) {
    // ပုံရိပ်အရွယ်အစားနှင့်အမျိုးအစားကိုရယူပါ
    $image_info = getimagesize($filePath);
    $image_type = $image_info[2];

    // ပုံအမျိုးအစားအပေါ် အခြေခံ. ပုံရိပ်အရင်းအမြစ်များကိုဖန်တီးပါ
    switch ($image_type) {
        case IMAGETYPE_JPEG:
            $image = imagecreatefromjpeg($filePath);
            break;
        case IMAGETYPE_PNG:
            $image = imagecreatefrompng($filePath);
            break;
        case IMAGETYPE_GIF:
            $image = imagecreatefromgif($filePath);
            break;
        default:
            echo "不支持的စာချုပ်စာတမ်း类型!";
            return;
    }

    // ပုံကိုလှန်လိုက်ပါ
    $flipped_image = imagerotate($image, 180, 0); // 180ဒီဂရီအလှည့်,image flip

    // လှန်ပုံကိုသိမ်းဆည်းပါ
    switch ($image_type) {
        case IMAGETYPE_JPEG:
            imagejpeg($flipped_image, $filePath);
            break;
        case IMAGETYPE_PNG:
            imagepng($flipped_image, $filePath);
            break;
        case IMAGETYPE_GIF:
            imagegif($flipped_image, $filePath);
            break;
    }

    // ပုံရိပ်အရင်းအမြစ်များကိုလွှတ်ပါ
    imagedestroy($image);
    imagedestroy($flipped_image);

    echo "ပုံကိုအောင်မြင်စွာလှန်လိုက်ပြီ!";
}

// flip function ကိုခေါ်ဆိုခြင်း
flipImage($target_file);
?>

3 ။ code ခွဲခြမ်းစိတ်ဖြာ

  • Upload ပုံစံ - အသုံးပြုသူသည်ပုံစံကို browser (browser မှတဆင့် တင်ပြ. Image file ကို upload လုပ်သည်။

  • Image procession : အသုံးပြုသူတစ် ဦး သည်ပုံတစ်ပုံကိုတင်သောအခါကျွန်ုပ်တို့သည်ဖိုင်အမျိုးအစားကို Getimensize () function ကိုဖြတ်ပြီး၎င်းသည်ပုံဖိုင်တစ်ခုဖြစ်ကြောင်းအတည်ပြုပါ။ ထို့နောက်ကျွန်ုပ်တို့သည်ဖိုင်ကိုသတ်မှတ်ထားသော directory သို့သိမ်းဆည်းရန် Move_uploaded_File () ကို အသုံးပြုသည်။

  • Flipimage () function သည်တင်ထားသော ပုံကို လှန်လှောကြည့်ရန်တာ 0 န်ရှိသည်။ Flip အကျိုးသက်ရောက်မှုကိုအောင်မြင်ရန် Imagerotate () function ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပုံ 180 ဒီဂရီကိုလှည့်သည်။ အဆိုပါ flipped image မူရင်းဖိုင်ကို overwrite ပါလိမ့်မယ်။

4 ။ အကျဉ်းချုပ်

အထက်ပါအဆင့်များမှတဆင့်ပုံရိပ်များကိုအလိုအလျှောက်တင်ခြင်းနှင့်အလိုအလျောက်လှန်ခြင်း၏လုပ်ဆောင်မှုကိုအောင်မြင်စွာအကောင်အထည်ဖော်နိုင်ခဲ့သည်။ အသုံးပြုသူသည် JPEG, PNG သို့မဟုတ် GIF format ရှိရုပ်ပုံများကိုတင်သည်ဖြစ်စေစနစ်သည်မှန်ကန်စွာဖော်ထုတ်နိုင်ပြီးလှန်နိုင်သည်။

ဤနည်းလမ်းအားဖြင့်တင်ထားသောရုပ်ပုံများသည်မှန်ကန်သောလမ်းညွှန်မှုနှင့်အညီ,