PHP Image processing process လုပ်နေစဉ်တစ်ခါတစ်ရံတွင်ကျွန်ုပ်တို့သည်ဖိုင်ကိုသိမ်းဆည်းခြင်းထက် flip နှင့်လက်ဝဲဘက်သို့လှန်လှောကြည့်ရှုခြင်း, Ob_start () ob_start () ကိုသိမ်းဆည်းခြင်းသို့မဟုတ်ပြုပြင်ခြင်းစသည့် ob_start () သည် အငြင်းပွားမှုများကိုထိန်းချုပ်ရန်အချို့ထိန်းချုပ်မှုကိုထိန်းချုပ်လိုပါက၎င်းတို့သည်အသုံးဝင်သည်။
ဤဆောင်းပါးသည် Ob_start () နှင့် ImageFlip () functions များကိုမည်သို့ပေါင်းစပ်ပြီးပုံရိပ်ကိုလှန်လှောကြည့်ရှုရန်နှင့်ပြုပြင်ခြင်းရလဒ်များကို browser သို့တိုက်ရိုက်ထုတ်ပေးရန်မည်သို့ပြုလုပ်ရမည်ကိုသရုပ်ပြပါလိမ့်မည်။ ၎င်းသည်ကျွန်ုပ်တို့အား CDN သို့မဟုတ် debugging ကဲ့သို့သော variable ကို variable တစ်ခုအဖြစ်သိမ်းဆည်းရန်ကျွန်ုပ်တို့ကိုကူညီသည်။
သင်၏ PHP ပတ် 0 န်းကျင်သည် GD စာကြည့်တိုက်တစ်ခုဖွင့်ထားကြောင်းသေချာအောင်လုပ်ပါ။ Terminal သို့မဟုတ် code တွင်သင်အတည်ပြုရန် Phpinfo () ကို သုံးနိုင်သည်။
<?php
phpinfo();
?>
အသုံးပြုသူကို image တစ်ခုကို တင်. သို့မဟုတ်ဆာဗာပေါ်ရှိပုံတစ်ပုံကိုသုံးနိုင်သည်။ ဒီဥပမာမှာဆာဗာပေါ်ရှိပုံရိပ်လမ်းကြောင်းကိုအသုံးပြုသည်။
$imagePath = 'https://m66.net/images/sample.jpg'; // အသုံးပြု m66.net ဒိုမိန်းအမည်၏ဥပမာပုံရိပ်
ဤတွင်ပုံရိပ်ကိုလက်ဝဲဘက်နှင့်ညာဘက်သို့လှန်လှောကြည့်ပြီးရလဒ်ကိုအခြားအပြောင်းအလဲများအတွက်အသုံးပြုသော 0 က်ဘ်စာမျက်နှာသို့တိုက်ရိုက်လှန်လှောကြည့်ရှုသည့်အပြည့်အဝနမူနာကုဒ်ဖြစ်သည်။
<?php
// ပုံလမ်းကြောင်းကိုသတ်မှတ်ပါ
$imageUrl = 'https://m66.net/images/sample.jpg';
// ပုံအကြောင်းအရာကိုရယူပါ
$imageData = file_get_contents($imageUrl);
if (!$imageData) {
die('无法ပုံအကြောင်းအရာကိုရယူပါ');
}
// ပုံအရင်းအမြစ်များကိုဖန်တီးပါ
$srcImage = imagecreatefromstring($imageData);
if (!$srcImage) {
die('ပုံရိပ်ဖန်တီးမှုမအောင်မြင်ပါ');
}
// ပုံကိုလှန်လိုက်ပါ(ဘယ်ဘက်နှင့်ညာလှန်)
imageflip($srcImage, IMG_FLIP_HORIZONTAL);
// output ကိုကြားခံဖွင့်ပါ
ob_start();
// အကြောင်းအရာအမျိုးအစားကိုသတ်မှတ်ပါ
header('Content-Type: image/jpeg');
// output ကိုပုံ
imagejpeg($srcImage);
// cached အကြောင်းအရာကိုရယူပါ
$imageOutput = ob_get_contents();
// ကြားခံရှင်းလင်းနှင့်ပိတ်ပါ
ob_end_clean();
// output ကိုပုံ内容到网页
echo $imageOutput;
// ပုံရိပ်အရင်းအမြစ်များကိုဖျက်ဆီး
imagedestroy($srcImage);
?>
ob_start () output ကိုကြားခံဖွင့်ပေးသည်။
Echo သို့မဟုတ် ImageJPEG () imagejpeg () output များကို browser သို့တိုက်ရိုက်ပို့မည့်အစားဖမ်းမိသည်။
ob_get_contentents () buffer တွင်အကြောင်းအရာကိုရရှိသည် (ဤတွင်ပုံရိပ် binary content) ။
ob_clean () ရှင်းလင်းချက်ကိုရှင်းလင်းပြီးပိတ်လိုက်သည် (အလိုအလျောက် output) ကိုပိတ်လိုက်သည်။
output ကို cache files များအနေဖြင့်သိမ်းဆည်းခြင်းသို့မဟုတ်နောက်ထပ်အပြောင်းအလဲနဲ့လုပ်ခြင်းကဲ့သို့သောပြောင်းလွယ်ပြင်လွယ်ကိုထိန်းချုပ်နိုင်သည်။
အစောပိုင်း outputs ပါဝင်မှုကြောင့်ဖြစ်ရတဲ့ header အမှားအယွင်းများကိုရှောင်ကြဉ်ပါ။
$ Imageoutput သည် cache file တစ်ခုအဖြစ်သိမ်းဆည်းထားနိုင်သော်လည်း CDN သို့တင်သည်။
ပုံရိပ်ကြီးကြီးပါကမှတ်ဉာဏ်အသုံးပြုမှုကိုဂရုပြုပါ။
OB_START () ကို scripts များဖြင့် script များဖြင့်အသုံးပြုရန်မလိုအပ်ပါ။