လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အလွန်အကျွံမှတ်ဉာဏ်အသုံးပြုမှုကိုကာကွယ်ရန် ISESETREFROMGD2 function ကို အသုံးပြု. GD2 ပုံရိပ်ဖိုင်အရွယ်အစားကိုကန့်သတ်နည်း။

အလွန်အကျွံမှတ်ဉာဏ်အသုံးပြုမှုကိုကာကွယ်ရန် ISESETREFROMGD2 function ကို အသုံးပြု. GD2 ပုံရိပ်ဖိုင်အရွယ်အစားကိုကန့်သတ်နည်း။

M66 2025-06-23

Image Upload နှင့် processing processing နှင့် processing လုပ်သည့်အခါ PHP သည် အင်အားကြီးမားသောပုံရိပ်ထုတ်ယူမှုလုပ်ငန်းများကိုထောက်ပံ့ပေးသည် သို့သော်ပုံရိပ်ဖိုင်အရွယ်အစားသည်အကန့်အသတ်မရှိလျှင်၎င်းသည်အလွန်အကျွံမှတ်ဉာဏ်အသုံးပြုမှုကိုဖြစ်ပေါ်စေပြီး server crash များကိုပင်ဖြစ်ပေါ်စေနိုင်သည်။

ဤအရာကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည်ဖိုင်အရွယ်အစားကိုစစ်ဆေးပြီး isaSeatchretgdgd2 () ကို မသုံးမီကန့်သတ်သင့်သည်။ Memory အသုံးပြုမှုတွင်ပရိုဂရမ်ကိုထိန်းချုပ်ထားနိုင်ရန်အတွက် GD2 ပုံရိပ်များကိုလုံခြုံစွာ 0 င်ရန်နည်းလမ်းတစ်ခုဖြစ်သည်။

အဆင့် 1 - အမြင့်ဆုံးအမြင့်ဆုံးဖိုင်အရွယ်အစားကိုသတ်မှတ်ပါ

ပထမ ဦး စွာအများဆုံးခွင့်ပြုထားသောပုံရိပ်ဖိုင်အရွယ်အစားကိုသတ်မှတ်ပါ (ဥပမာ 2MB):

 define('MAX_GD2_FILE_SIZE', 2 * 1024 * 1024); // 2MB

အဆင့် 2 - ဖိုင်အရွယ်အစားကိုစစ်ဆေးပါ

ဖိုင်ကိုမဖွင့်မီ၎င်း၏အမှန်တကယ်အရွယ်အစားကိုစစ်ဆေးပါ။

 $gd2File = 'uploads/image.gd2';

if (!file_exists($gd2File)) {
    die('ဖိုင်မတည်ရှိပါဘူး。');
}

if (filesize($gd2File) > MAX_GD2_FILE_SIZE) {
    die('GD2 ပုံရိပ်သည်အလွန်ကြီးလွန်းသည်,မှတ်ဥာဏ်ကိုကာကွယ်ရန် loading ကိုငြင်းပယ်ပါ。');
}

အဆင့် 3: ပုံကိုတင်ရန် ISEACREATGD2 ကိုသုံးပါ

အတည်ပြုပြီးနောက်ပုံရိပ်ကိုတင်ထားသည်။

 $im = @imagecreatefromgd2($gd2File);

if (!$im) {
    die('ပုံအရင်းအမြစ်များကို ဖန်တီး. မရပါ,ဖိုင်သည်အကျင့်ပျက်ခြစားမှုသို့မဟုတ်မမှန်ကန်ကြောင်းပုံစံဖြစ်နိုင်သည်。');
}

အဆင့် 4: ပုံ (save)

နမူနာကုဒ်သည်၎င်းကို PNG အဖြစ်သိမ်းဆည်းသည်။

 $outputPath = 'converted/output.png';
imagepng($im, $outputPath);
imagedestroy($im);

echo 'ပုံကိုအောင်မြင်စွာပြောင်းလဲပြီးသိမ်းဆည်းထားပြီးဖြစ်သည်: ' . htmlspecialchars($outputPath);

အပိုဆောင်းအကြံဥာဏ်

  • Upload ကန့်သတ်ချက် - PHPP.INI ကိုတင် ပါ

  • Try-Catch ကိုသုံးပါ (မည်သည့် extension ကိုမဆို actter လျှင်) ကို အသုံးပြုပါ။

  • သစ်ထုတ်လုပ်ခြင်း - ပုံကိုမဖွင့်ရန်ငြင်းဆန်ပါကပြ troubl နာဖြေရှင်းရန်လွယ်ကူချောမွေ့စေရန်သင့်တော်သောမှတ်တမ်းများကိုမှတ်တမ်းတင်ရန်အကြံပြုသည်။

အပြည့်အဝကုဒ်နမူနာ: