လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ImageFlip () တွင်ကွဲပြားခြားနားမှုများ CLI နှင့် Web ပတ်ဝန်းကျင်တွင်အသုံးပြုခြင်း

ImageFlip () တွင်ကွဲပြားခြားနားမှုများ CLI နှင့် Web ပတ်ဝန်းကျင်တွင်အသုံးပြုခြင်း

M66 2025-05-18

Image Procession Procession အရ PHP ၏ Imperfulfip () function သည်ဘုံကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်ဒေါင်လိုက်သို့မဟုတ်နှစ် ဦး စလုံးအလွယ်တကူလှန်လှောကြည့်ရှုနိုင်သည် သို့သော်ဤလုပ်ဆောင်မှု၏အပြုအမူသည်ကွဲပြားခြားနားသော runtime ပတ်ဝန်းကျင်တွင်အနည်းငယ်ကွဲပြားနိုင်သည် (command line cli နှင့် web browser) အောက်တွင်အနည်းငယ်ကွဲပြားနိုင်သည်။ ဤကွဲပြားခြားနားမှုများကိုဤဆောင်းပါးတွင်အသေးစိတ်ဆွေးနွေးပြီးဥပမာကုဒ်ဖြင့်သရုပ်ဖော်သည်။

1 ။ IMPLEFFLIV သို့မိတ်ဆက်ခြင်း ()

ImageFlip () သည် PHP 5.5.0 ကိုရိုက်ကူးရန် PHP 5.5.0 ပြီးနောက်မိတ်ဆက်ပေးသည့်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ function ကိုလက်မှတ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 bool imageflip(GdImage $image, int $mode)

$ mode ၏ optional ကိုတန်ဖိုးမှာအောက်ပါအတိုင်းဖြစ်သည် -

  • img_flip_horizontal : အလျားလိုက်လှန်

  • img_flip_vertical : ဒေါင်လိုက်လှန်

  • img_flip_both : အလျားလိုက်နှင့်ဒေါင်လိုက်လှန်လှောင်ပြောင်ကိုတစ်ပြိုင်နက်တည်းလုပ်ဆောင်ပါ

2 ။ CLI နှင့် 0 က်ဘ်ဝန်းကျင်အကြားအဓိကကွဲပြားခြားနားမှုများ

Impflip () ကို CLI နှင့် Web ပတ် 0 န်းကျင်တွင်တူညီသောနည်းတူအသုံးပြုသော်လည်း PHP သည်ကွဲပြားခြားနားသောလည်ပတ်နေသောပတ်ဝန်းကျင်တွင်ကွဲပြားခြားနားစွာကွဲပြားခြားနားစွာကိုင်တွယ်သောကြောင့် developer များဤလုပ်ဆောင်မှုကိုအသုံးပြုသောအခါအောက်ပါကွဲပြားမှုများကိုအာရုံစိုက်ရန်လိုအပ်သည် -

1 ။ ကွဲပြားခြားနားသော output ကိုပုံရိပ်တွေ

0 က်ဘ်ဝန်းကျင်ရှိဝက်ဘ်ဆိုက်တစ်ခုတွင်ကျွန်ုပ်တို့သည်ပုံမှန်အားဖြင့် header မှတဆင့် browser ကို browser သို့ထုတ်ပေးသည်။

 <?php
$image = imagecreatefromjpeg('input.jpg');
imageflip($image, IMG_FLIP_HORIZONTAL);

header('Content-Type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
?>

ဤကုဒ်သည်ဝက်ဘ်ပတ်ဝန်းကျင်တွင်ပြေးသောအခါ browser ရှိပုံရိပ်ကို browser တွင်တိုက်ရိုက်ဖော်ပြလိမ့်မည်။

CLI အောက်တွင် header () သည်မမှန်ကန်ပါ,

 <?php
$image = imagecreatefromjpeg('input.jpg');
imageflip($image, IMG_FLIP_HORIZONTAL);

imagejpeg($image, 'output.jpg');
imagedestroy($image);
echo "ပုံရိပ်ကိုကယ်တင်ခြင်းသို့ရောက်ပြီ output.jpg\n";
?>

2 ။ ဖိုင်လမ်းကြောင်းကွဲပြားခြားနားမှု

0 က်ဘ်ဆိုက်များသည်များသောအားဖြင့်ဆွေမျိုးလမ်းကြောင်းများကို အသုံးပြု. ဆာဗာ root directory မှကန့်သတ်ထားသည်။ ဥပမာအားဖြင့်:

ဝဘ်ပတ်ဝန်းကျင်တွင်:

 $image = imagecreatefrompng('images/input.png'); // ဆွေမျိုး web အညွှန်းရှာဖွေရန်

CLI ပတ်ဝန်းကျင်၌:

 $image = imagecreatefrompng('/home/user/images/input.png'); // အကြွင်းမဲ့အာဏာလမ်းကြောင်းများပိုမိုများဖြစ်ကြသည်

3 ။ ခွင့်ပြုချက်ပြ issues နာများ

0 က်ဘ်ပတ် 0 န်းကျင်တွင်အသုံးပြုသောအသုံးပြုသူသည်များသောအားဖြင့် www-data , apache စသည်များနှင့်ခွင့်ပြုချက်အကန့်အသတ်ရှိသည်။ CLI သည်ယေဘုယျအားဖြင့်လက်ရှိစနစ်အသုံးပြုသူအနေဖြင့်အသုံးပြုနေစဉ်, ထို့ကြောင့်ဝက်ဘ်အောက်ရှိဖိုင်များကိုရေးသားသည့်အခါသင်ပစ်မှတ်လမ်းညွှန်သည်သင့်လျော်သောခွင့်ပြုချက်ရရှိရန်သေချာသင့်သည်။ ဥပမာအားဖြင့်:

 // Web ပတ်ဝန်းကျင်ကျရှုံးလိမ့်မည်:
imagejpeg($image, '/var/www/html/uploads/flipped.jpg');

// အသုံးပြုရန်အကြံပြုသည် m66.net ထောက်ပံ့ပေးသို့မဟုတ်ယာယီတင်ခြင်းလမ်းညွှန် CDN စကားပေြာဟော,ဥပမာအားဖြင့်:
imagejpeg($image, '/var/www/html/m66.net/tmp/flipped.jpg');

3 ။ ဥပမာတစ်ခုအပြည့်အစုံ - 0 က်ဘ်နှင့် CLI သို့ပုံတူရိုက်ကူးမှုပုံစံ

 <?php
$source = 'https://m66.net/images/sample.jpg';
$inputPath = 'input.jpg';

// ပုံကို download လုပ်ပါ
file_put_contents($inputPath, file_get_contents($source));

$image = imagecreatefromjpeg($inputPath);
imageflip($image, IMG_FLIP_BOTH);

// operating ပတ်ဝန်းကျင်ကိုဆုံးဖြတ်ပါ
if (php_sapi_name() === 'cli') {
    imagejpeg($image, 'flipped.jpg');
    echo "အဆိုပါလှန်ပုံရိပ်အဖြစ်သိမ်းဆည်းထားပါတယ် flipped.jpg\n";
} else {
    header('Content-Type: image/jpeg');
    imagejpeg($image);
}

imagedestroy($image);
?>