PHP Development တွင် IdefreastoOccer ဖိုင်သည်ပုံဖြည့်ခြင်းလုပ်ငန်းများကိုလုပ်ဆောင်ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်သည်ပုံ၏အနားများကိုသတ်မှတ်ထားသောအရောင်သို့မဟုတ်ပုံစံဖြင့်ပြည့်နှက်နေပြီး thumbnails, image processing နှင့်အခြားအခြေအနေများကိုထုတ်လုပ်ရန်အသုံးပြုသည်။ သို့သော်တစ်ခါတစ်ရံ developer များသည်ဤလုပ်ဆောင်မှုတွင်အမှားအယွင်းများကိုကြုံတွေ့ရလိမ့်မည်။ ဤဆောင်းပါးသည်သင့်အတွက်အသေးစိတ်အချက်အလက်များနှင့် debugging နှင့်ပြ esh နာဖြေရှင်းခြင်းနည်းလမ်းများအားဤဆောင်းပါးသည်ခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။
IdefrementOberder function သည် image area ရိယာကိုသတ်မှတ်ထားသောအရောင်နှင့်ကိုက်ညီသည်အထိသတ်မှတ်ထားသောအရောင်ဖြင့်ဖြည့်ရန်အသုံးပြုသည်။ function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
bool imagefilltoborder ( resource $image , int $x , int $y , int $border , int $color )
parameter သည်ဖော်ပြချက်:
$ Image : Image image အရင်းအမြစ်။
$ X နှင့် $ y : အစပြုသည့် padding ၏သွဒီနိတ်။
$ border : နယ်နိမိတ်၏အရောင်တန်ဖိုးကိုအရောင်ကြုံတွေ့ရမှသာဖြည့်ပါလိမ့်မယ်။
$ အရောင် : အရောင်ဖြည့်ပါ။
ဤလုပ်ဆောင်ချက်သည်ယေဘုယျအားဖြင့်ရုပ်ပုံပြုပြင်ခြင်းသို့မဟုတ်ထုတ်လုပ်ထားသောကုဒ်များတွင်ပေါ်လာပါသည်။ အသုံးများသော application တစ်ခုတွင်အလိုအလျောက်ပုံနောက်ခံမျိုးဆက်, area ရိယာဖြည့်ခြင်းစသည်တို့ပါဝင်သည်။
အမှား 1 - image ရိ afteremborer () သည် မှန်ကန်သောပုံရိပ်အရင်းအမြစ်လိုအပ်သည်
အမှားမက်ဆေ့ခ်ျ:
Warning: imagefilltoborder() expects parameter 1 to be resource, null given
အကြောင်းပြချက်:
IdefreTOberDer function ကို $ image parameter သည် image image parameter သည်မှန်ကန်သောပုံရိပ်အရင်းအမြစ်မဟုတ်ပါကဤအမှားသည်များသောအားဖြင့်ဖြစ်သည်။ ဖြစ်နိုင်ချေရှိသောအကြောင်းပြချက်များမှာမှားယွင်းသောပုံရိပ်ဖိုင်လမ်းကြောင်း, မှန်ကန်စွာဖွင့်နိုင်စွမ်းမရှိခြင်းစသည်ဖြင့်ပါ 0 င်သည်။
ဖြေရှင်းချက် -
image ရိအရင်းအမြစ်များကို IdefreasterSDER function သို့ဖြတ်သန်းသွားကြောင်းသေချာပါစေ။ imagecreathertjpeg () ,
image path သည်မှန်ကန်မှုရှိ, မရှိစစ်ဆေးပါ။
ဖိုင်အမျိုးအစားသည်မှန်ကန်ပြီးပုံရိပ်ပုံစံများကိုထောက်ပံ့ရန်သေချာစေပါ။
ဥပမာ -
$image = imagecreatefromjpeg("example.jpg");
if (!$image) {
die("Image load failed");
}
အမှား 2 - $ နယ်စပ် parameter သည်အရောင်တန်ဖိုးသည်မမှန်ကန်ပါ
အမှားမက်ဆေ့ခ်ျ:
Warning: imagefilltoborder() expects parameter 4 to be integer, string given
အကြောင်းပြချက်:
ဤအမှားက $ border parameter သည်ခိုင်လုံသောအရောင်တန်ဖိုးမဟုတ်ကြောင်းဖော်ပြသည်။ $ border parameter သည်များသောအားဖြင့် isagecolorallallate () သို့မဟုတ်အလားတူလုပ်ဆောင်ချက်များဖြင့်ပြန်လာသောကိန်းတစ်ခုဖြစ်ရန်လိုအပ်သည်။
ဖြေရှင်းချက် -
$ border parameter သည် isolocoloran ည့်သည် () နှင့်အခြားအမျိုးအစားများမဟုတ်ဘဲခိုင်လုံသောအရောင်ခွဲဝေမှု function ကိုရရှိသောအရောင်တန်ဖိုးဖြစ်သည်။
ဥပမာ -
$border_color = imagecolorallocate($image, 255, 255, 255); // အဖြူ
imagefilltoborder($image, 0, 0, $border_color, $fill_color);
အမှား 3 - မှတ်ဥာဏ်မလုံလောက်ခြင်း,
အမှားမက်ဆေ့ခ်ျ:
Fatal error: Allowed memory size of xxx bytes exhausted
အကြောင်းပြချက်:
PHPM Memory ပြည့်ဝမှုသည်ပုံသည်ကြီးမားလွန်းသောအခါသို့မဟုတ်မှတ်ဥာဏ်အရင်းအမြစ်များမလုံလောက်ပါ။ အထူးသဖြင့်ပုံလှုပ်ရှားမှုများတွင် pixel အမြောက်အများကိုပြုပြင်ခြင်းတွင်ပါ 0 င်ပါကမှတ်ဉာဏ်များစွာစားသုံးနိုင်သည်။
ဖြေရှင်းချက် -
PHP scripts ၏မှတ်ဉာဏ်ကန့်သတ်ချက်ကိုမြှင့်တင်ရန် PHP.INI Configuration ဖိုင်တွင် memory_limit ကို ချိန်ညှိနိုင်သည်သို့မဟုတ် code တွင်မှတ်ဉာဏ်ကန့်သတ်ချက်ကိုတိုးမြှင့်စေရန် ini_set () ကို သုံးနိုင်သည်။
လုပ်ငန်းစဉ်ပုံရိပ်အရွယ်အစားသည်ဆာဗာမှတ်ဉာဏ်အတွက်သင့်တော်ကြောင်းနှင့်တစ်ပြိုင်နက်ကြီးမားသောပုံရိပ်ဖိုင်များကိုမတင်ရန်သေချာအောင်လုပ်ပါ။
ဥပမာ -
ini_set('memory_limit', '256M'); // မှတ်ဉာဏ်ကန့်သတ်ထားပါ 256MB
အမှား 4
အမှားမက်ဆေ့ခ်ျ:
Warning: imagefilltoborder() expects parameter 5 to be resource, null given
အကြောင်းပြချက်:
အကယ်. ရုပ်ပုံတွင်ပွင့်လင်းမြင်သာသောလမ်းကြောင်းများပါ 0 င်ပါက (PNG format ရှိပုံများ) နှင့်ပွင့်လင်းမြင်သာသောနောက်ခံကိုမှန်ကန်စွာကိုင်တွယ်နိုင်ခြင်းမရှိပါ။ ဖြည့်လည်ပတ်မှုပျက်သွားပေမည်။
ဖြေရှင်းချက် -
ဖြည့်အရောင်သည်ပွင့်လင်းမြင်သာသော area ရိယာနှင့်ပမပဏ်ပလာမပ conflict ိညာဉ်ပြုရန်အတွက်သင့်လျော်သောပွင့်လင်းပုံရိပ်များကိုလုပ်ဆောင်ပါ။
Transparent Thick ပွင့်လင်းမြင်ကွင်းများကိုသုံးရန် accourealphableender () ပုံရိပ်တွေကိုသုံးပါ။
ဥပမာ -
imagealphablending($image, false);
imagesavealpha($image, true);
PHP အမှားမှတ်တမ်းကိုစစ်ဆေးပါ
အကယ်. သင်အမှားတစ်ခုကြုံတွေ့ရပါကသင်ပိုမိုအသေးစိတ်အချက်အလက်များပါ 0 င်သော PHP အမှားမှတ်တမ်းကိုသင်စစ်ဆေးနိုင်သည်။
အသေးစိတ်အမှားများကို enable လုပ်ရန် error_reporting (e_All) နှင့် ini_set) နှင့် iniue_ss ကို သုံးပါ