ခေတ်သစ်ဝက်ဘ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ပုံရိပ်ထုတ်ယူခြင်းသည်မကြာခဏမလွှဲမရှောင်သာဖြစ်နေသည်။ အချို့သောသီးခြား application တစ်ခုအတွက်အသုံးပြုသူမှတင်ထားသောပုံများသည်လည်ပတ်မှု, လှန်ခြင်းစသည်တို့ကိုပြုလုပ်ရန်လိုအပ် နိုင်သည် ။ ဤဆောင်းပါးသည် Image Flip function ကိုအကောင်အထည်ဖော်ရန် PHP ၏ Imerfflip function ကိုမည်သို့အသုံးပြုရမည်ကိုပြသရန် browser ၏ File Upload interface ကိုပေါင်းစပ်ပါလိမ့်မည်။
ပထမ ဦး စွာသင်၏ PHP ပတ်ဝန်းကျင်တွင် GD Image processing library ကိုတပ်ဆင်ထားကြောင်းသေချာစေရန်လိုအပ်သည်။ GD သည် PHP တွင်အသုံးပြုသောပုံရိပ်ထုတ်ယူခြင်းတိုးချဲ့ခြင်းဖြစ်သည်။ ၎င်းသည်ပုံအရွယ်အစားညှိနှိုင်းမှု, သီးနှံရိတ်သိမ်းခြင်း, အရောင်ထုတ်လုပ်ခြင်းနှင့်လည်ပတ်လုပ်ငန်းများကိုကိုင်တွယ်ရန်ကူညီနိုင်သည်။ သင်၏ PHP ပတ် 0 န်းကျင်တွင် GD စာကြည့်တိုက်တပ်ဆင်ထားပါက၎င်းကိုအောက်ပါ command မှတဆင့် install လုပ်နိုင်သည်။
sudo apt-get install php-gd
install လုပ်ပြီးနောက် Php.ini ဖိုင်တွင် GD extension ကိုဖွင့်ထားကြောင်းသေချာပါစေ။
အသုံးပြုသူများကိုဖိုင်များကို upload လုပ်ရန်ခွင့်ပြုသည့်ရှေ့ဆုံးမျက်နှာပြင်လိုအပ်သည်။ ဖိုင်တင်ခြင်းများကို HTML ပုံစံများနှင့် input tags များဖြင့်အလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ ဤတွင်အခြေခံ Upload ပုံစံဖြစ်သည်။
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ပုံကိုတင်ပြီးလှန်လိုက်ပါ</title>
</head>
<body>
<h1>ပုံကိုတင်ပြီးလှန်လိုက်ပါ</h1>
<form action="upload.php" method="POST" enctype="multipart/form-data">
<label for="image">ပုံကိုရွေးချယ်ပါ:</label>
<input type="file" name="image" id="image" accept="image/*" required>
<button type="submit" name="submit">တင်နှင့်လှန်</button>
</form>
</body>
</html>
ဤပုံစံသည်အသုံးပြုသူအားပုံတစ်ပုံကိုရွေးချယ်ပြီး upload လုပ်ပြီး၎င်းကို PHP ဖိုင်ကို Upload အမည်ရှိ PHP ဖိုင်သို့တင်သွင်းလိမ့်မည်။
Upload.php တွင်တင်ထားသောဖိုင်ကိုတင်ရန်လိုအပ်ပြီး PHP ၏ Impfflip function ကိုအသုံးပြုရန်လိုအပ်သည်။ ကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<?php
// ဖိုင်များတင်ခြင်းရှိမရှိစစ်ဆေးပါ
if (isset($_FILES['image']) && $_FILES['image']['error'] == 0) {
// ဖိုင်အချက်အလက်ရယူပါ
$fileTmpPath = $_FILES['image']['tmp_name'];
$fileName = $_FILES['image']['name'];
$fileSize = $_FILES['image']['size'];
$fileType = $_FILES['image']['type'];
// ဖိုင်အမျိုးအစားသည်ပုံတစ်ပုံကိုအတည်ပြုပါ
$allowedTypes = ['image/jpeg', 'image/png', 'image/gif'];
if (!in_array($fileType, $allowedTypes)) {
echo "တင်ပါးသာခွင့်ပြုထားသည် JPG, PNG, GIF format နဲ့ image file";
exit;
}
// အသုံးပြု PHP ၏ GD စာကြည့်တိုက်ကိုရေးဆွဲခြင်းပုံများ
$imageResource = imagecreatefromstring(file_get_contents($fileTmpPath));
// ပုံရိပ်အရင်းအမြစ်ကိုအောင်မြင်စွာဖန်တီးနိုင်မလားဆိုတာဆုံးဖြတ်ပါ
if ($imageResource === false) {
echo "无法处理上传၏图片";
exit;
}
// အသုံးပြု imageflip function ကိုပုံရိပ်လှန်
$flipResult = imageflip($imageResource, IMG_FLIP_HORIZONTAL); // အလျားလိုက်လှန်
// 或者အသုံးပြု IMG_FLIP_VERTICAL ဒေါင်လိုက်လှန်အောင်မြင်ရန်
if ($flipResult) {
// 保存翻转后၏图片
$newFileName = 'flipped_' . $fileName;
$newFilePath = 'uploads/' . $newFileName;
// ဖိုင်အမျိုးအစားအရဓာတ်ပုံများကိုသိမ်းဆည်းပါ
switch ($fileType) {
case 'image/jpeg':
imagejpeg($imageResource, $newFilePath);
break;
case 'image/png':
imagepng($imageResource, $newFilePath);
break;
case 'image/gif':
imagegif($imageResource, $newFilePath);
break;
}
// မှတ်ဉာဏ်သန့်ရှင်းရေး
imagedestroy($imageResource);
echo "ပုံကိုအောင်မြင်စွာလှန်လိုက်ပြီးကယ်တင်ခြင်းသို့ရောက်ပြီ!<br>";
echo "翻转后၏图片: <a href='$newFilePath' target='_blank'>ရုပ်ပုံများကိုကြည့်ပါ</a>";
} else {
echo "ပုံရိပ်လှန်မအောင်မြင်ပါ";
}
} else {
echo "ကျေးဇူးပြု. ပုံကိုအရင်တင်ပါ";
}
?>
ဖိုင်တင်ချောင်းအသစ်ပြုပြင်ခြင်း - တင်ထားသောဖိုင်များကိုလုပ်ဆောင်ရန်ကျွန်ုပ်တို့သည် $ _files hyperglobal array ကိုအသုံးပြုသည်။ ဖိုင်တည်ရှိခြင်းနှင့်ဖိုင်အမျိုးအစားသည်တရား 0 င်ရှိမရှိစစ်ဆေးပါ။
image Resource Creation : upload ဖိုင်များအပေါ် အခြေခံ. ပုံရိပ်အရင်းအမြစ်များကိုဖန်တီးရန် imagecreatchrophromrophrophromrophrophromrophromrophromrophromrophrophromrophromrophrophromrophromrophromrophromrophromrophromrophromrophromrophromrophromrophromrophromrophromrophromrophromrophstromrophromrophromrophstromrophromrophromrophromrophstromrophromrophromrophstromrophstrechromomrophstrickfrophstromrophromrophstrechrict function ကိုသုံးပါ။ အကယ်. ပုံကိုမဖန်တီးနိုင်ပါက (ဥပမာအားဖြင့်ဖိုင်သည်အကျင့်ပျက်သို့မဟုတ်အမျိုးအစားကိုမထောက်ပံ့ပါ။
Image Flip : ImageFlip function ကိုသုံးပါ။ Img_flip_Horizontal သည် hemg_flip_horizontal သည်အလျားလိုက်လှန်လှောင်ထားသည့်အလျားလိုက်လှန်လှောင်ထားရန်ဖြစ်သည်။
Flipped Image ကို သိမ်း ပါ ။
Saving Path : ဖိုင်ကိုဆာဗာ၏ uploads ဖိုင်တွဲတွင်သိမ်းဆည်းထားလိမ့်မည်။
ဖိုင်တင်ခြင်းလုံခြုံရေး - ဖိုင်များကိုတင်ခြင်းလုံခြုံရေးနှင့်အန္တရာယ်ရှိသောဖိုင်များကိုတင်ခြင်းကိုရှောင်ပါ။ တင်ထားသောဖိုင်များ၏အရွယ်အစားကိုသင်ကန့်သတ်ပြီးဖိုင်အမျိုးအစားကိုအတည်ပြုနိုင်သည်။
အမှားကိုင်တွယ်ခြင်း - အသုံးပြုသူအတွေ့အကြုံကိုသေချာစေရန် Upload နှင့်ပုံရိပ်ပြုပြင်ခြင်းကိုကိုင်တွယ်ရန်အလုံအလောက်အမှားကိုင်တွယ်ရန်ကိုင်တွယ်ခြင်း။
ခွင့်ပြုချက်ဆက်တင်များ - အပ်လုဒ် ဖိုင်တွဲတွင်ဖိုင်ကိုသိမ်းဆည်းရန်လုံလောက်သောခွင့်ပြုချက်ရှိကြောင်းသေချာပါစေ။
အထက်ပါအဆင့်များမှတစ်ဆင့်ကျွန်ုပ်တို့သည်ရိုးရှင်းသော upload တစ်ခုကိုအကောင်အထည်ဖော်ပြီး Image function ကိုလှန်လိုက်ပါ။ အသုံးပြုသူသည်ပုံကို browser မှတစ်ဆင့်တင်သည်။ PHP သည်ဆာဗာဘက်တွင်ပုံကိုလှန်လှောကြည့်ရှုရန် Impflip function ကို အသုံးပြု. အသုံးပြုသူအားပုံရိပ်ကိုပြန်ပို့သည်။ ဤဖြစ်စဉ်သည်အမှန်တကယ်ဝက်ဘ်စီမံကိန်းများတွင်အလွန်လက်တွေ့ကျသည့်နောက်ခံပုံရိပ်ထုတ်ယူခြင်းနှင့်အတူရှေ့ပြေးဖိုင်တင်ခြင်းကိုမည်သို့ပြုလုပ်ရမည်ကိုပြသသည်။