လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHPG GD စာကြည့်တိုက်တွင် PHPG GD စာကြည့်တိုက်တွင် carbled code output ၏ပြ problem နာကိုမည်သို့ဖြေရှင်းရမည်နည်း

PHPG GD စာကြည့်တိုက်တွင် PHPG GD စာကြည့်တိုက်တွင် carbled code output ၏ပြ problem နာကိုမည်သို့ဖြေရှင်းရမည်နည်း

gitbox 2025-06-17

PHP တွင် GD စာကြည့်တိုက်မှထုတ်လုပ်သောအမှိုက်ပုံပုံများပြ problem နာကိုဖြေရှင်းပါ

PHP ၏ GD စာကြည့်တိုက်သည်အသုံးပြုသူများကိုအသုံးပြုသူများသည် developer များဆာဗာဘက်တွင်ပုံရိပ်အမျိုးမျိုးကိုပုံရိပ်များထုတ်လုပ်ရန်ခွင့်ပြုသည့်အသုံးများသော Image processers tool တစ်ခုဖြစ်သည်။ သို့သော် GD စာကြည့်တိုက်ကို အသုံးပြု. ရုပ်ပုံများကိုထုတ်လုပ်ရန် (ဤသို့သော wechat browser များကဲ့သို့) browser အချို့ (ဥပမာ - wechat browser များကဲ့သို့) browser အချို့ကိုကြုံတွေ့ရနိုင်သည်။ ဤဆောင်းပါးသည်ဤပြ problem နာကိုဖြေရှင်းရန်ထိရောက်သောနည်းစနစ်များကိုခွဲခြမ်းစိတ်ဖြာပြီးထိရောက်စွာထောက်ပံ့ပေးမည်ဖြစ်သည်။

ပြနာခွဲခြမ်းစိတ်ဖြာခြင်း

GD စာကြည့်တိုက်တွင်ဓာတ်ပုံများကိုထုတ်လုပ်သည့်အခါသင့်လျော်သောရုပ်ပုံပုံစံကိုသတ်မှတ်ရန်လိုအပ်သည်။ မှန်ကန်စွာမသတ်မှတ်ပါကပုံကိုပုံမှန်အားဖြင့် Worchat browser တွင်ပုံမှန်အားဖြင့်ပြသနိုင်ခြင်းမရှိပါ။ ထုတ်လုပ်ထားသောပုံရိပ်ကို WeChat browser တွင်မှန်ကန်စွာဖော်ပြရန်သေချာစေရန်အတွက် output settings ကိုမှန်ကန်သောအဆင့်များ၌ output settings ကိုလုပ်ဆောင်ရမည်။

အဖေြ

1 ။ ပုံအမျိုးအစားကိုသတ်မှတ်ပါ

GD စာကြည့်တိုက်ကိုအသုံးပြုပြီးရုပ်ပုံများကိုထုတ်လုပ်သည့်အခါပုံရိပ်အမျိုးအစားကိုရှင်းရှင်းလင်းလင်းဖော်ပြရမည်။ အသုံးအများဆုံးပုံအမျိုးအစားများတွင် JPEG, PNG, စသည်တို့ပါဝင်သည်။ Image Pype ကို setting ကိုမှန်ကန်စွာချိန်ညှိခြင်းအားဖြင့်ထုတ်လုပ်ထားသောပုံရိပ်ကို WeChat browser တွင်မှန်ကန်စွာဖော်ပြသည်။

 
  // မှ output type ကိုသတ်မှတ်ပါJPEGပမာဏ
  header('Content-Type: image/jpeg');

2 ။ encode လုပ်ရန် base64 ကိုသုံးပါ

နောက်ထပ်ဘုံအလေ့အကျင့်တစ်ခုမှာ outhating မပြုလုပ်မီပုံရိပ်အချက်အလက်များကိုလုပ်ဆောင်ရန် Base64 encoding ကိုအသုံးပြုရန်ဖြစ်သည်။ ဤသို့ပြုလုပ်ခြင်းသည် image data ကိုနဂိုအတိုင်းကူးစက်ပြီးဂီယာလုပ်ငန်းစဉ်အတွင်းဒေတာချို့ယွင်းချက်ကြောင့်ဖြစ်သောအမှိုက်ပုံးပြ problems နာများကိုရှောင်ရှားနိုင်ရန်သေချာစေနိုင်သည်။

 
  // image files များကိုဖတ်ပါ
  $image_data = file_get_contents('image.jpg');
  
  // image data ကိုကျင့်သုံးBase64ကုဒ်
  $base64_data = base64_encode($image_data);
  
  // output ကိုပုံ

3 ။ cache header သတင်းအချက်အလက်ထည့်ပါ

Image Loading ထိရောက်မှုကိုတိုးတက်စေရန် Cache Control Header သတင်းအချက်အလက်များကို Image output ထဲသို့ထည့်နိုင်သည်။ ၎င်းသည်တောင်းဆိုမှုတစ်ခုစီအတွက် Regenerated ပုံရိပ်များအရေအတွက်ကိုလျှော့ချရန်နှင့်မလိုအပ်သော bandwidth ဖြုန်းတီးခြင်းကိုရှောင်ရှားနိုင်သည်။

 
  // cache header သတင်းအချက်အလက်များကိုသတ်မှတ်ပါ,သက်တမ်းကာလဖြစ်ပါတယ်1နာရီ
  header('Cache-Control: public,max-age=3600');
  
  // output ကိုပုံ
  imagejpeg($image_data);

4 ။ မှန်ကန်သောဇာတ်ကောင် encoding ကိုသုံးပါ

အကယ်. ရုပ်ပုံတွင်တရုတ်စာလုံးများပါ 0 င်ပါကဇာတ်ကောင်များကိုမှန်ကန်စွာ encoded ကြောင်းသေချာစေရန်အလွန်အရေးကြီးသည်။ အက်ခရာ encoding မတူပါက Wechat Browser သည်ဓာတ်ပုံများကိုမှန်ကန်စွာမပြနိုင်ပါ။ မှန်ကန်စွာအက်ခရာ Encoding setting ကို setting လုပ်ခြင်းသည်ဤပြ problem နာကိုဖြေရှင်းနိုင်သည်။

 
  // 设置字符ကုဒ်
  header('Content-type: text/html; charset=utf-8');
  
  // output ကိုပုံ
  imagejpeg($image_data);

အကျဉ်းချုပ်

Image type ကိုမှန်ကန်စွာ STACE64 encoding ကို အသုံးပြု. Cache Control ကိုအသုံးပြုခြင်းနှင့်ဇာတ်ကောင် encoding ကိုအသုံးပြုခြင်းအားဖြင့် PHPG GD စာကြည့်တိုက်မှ PHPG GD စာကြည့်တိုက်မှထုတ်လုပ်သောအမှိုက်များကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။ ဤအစီအမံများပြုလုပ်နေသရွေ့ပုံများပုံမှန်အားဖြင့်ပြသနိုင်ပြီးပုံရိပ်တင်ခြင်း၏ထိရောက်မှုကိုတိုးတက်အောင်လုပ်နိုင်လိမ့်မည်။