Image Upload နှင့် processing processing နှင့် processing လုပ်သည့်အခါ PHP သည် အင်အားကြီးမားသောပုံရိပ်ထုတ်ယူမှုလုပ်ငန်းများကိုထောက်ပံ့ပေးသည် ။ သို့သော်ပုံရိပ်ဖိုင်အရွယ်အစားသည်အကန့်အသတ်မရှိလျှင်၎င်းသည်အလွန်အကျွံမှတ်ဉာဏ်အသုံးပြုမှုကိုဖြစ်ပေါ်စေပြီး server crash များကိုပင်ဖြစ်ပေါ်စေနိုင်သည်။
ဤအရာကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည်ဖိုင်အရွယ်အစားကိုစစ်ဆေးပြီး isaSeatchretgdgd2 () ကို မသုံးမီကန့်သတ်သင့်သည်။ Memory အသုံးပြုမှုတွင်ပရိုဂရမ်ကိုထိန်းချုပ်ထားနိုင်ရန်အတွက် GD2 ပုံရိပ်များကိုလုံခြုံစွာ 0 င်ရန်နည်းလမ်းတစ်ခုဖြစ်သည်။
ပထမ ဦး စွာအများဆုံးခွင့်ပြုထားသောပုံရိပ်ဖိုင်အရွယ်အစားကိုသတ်မှတ်ပါ (ဥပမာ 2MB):
define('MAX_GD2_FILE_SIZE', 2 * 1024 * 1024); // 2MB
ဖိုင်ကိုမဖွင့်မီ၎င်း၏အမှန်တကယ်အရွယ်အစားကိုစစ်ဆေးပါ။
$gd2File = 'uploads/image.gd2';
if (!file_exists($gd2File)) {
die('ဖိုင်မတည်ရှိပါဘူး。');
}
if (filesize($gd2File) > MAX_GD2_FILE_SIZE) {
die('GD2 ပုံရိပ်သည်အလွန်ကြီးလွန်းသည်,မှတ်ဥာဏ်ကိုကာကွယ်ရန် loading ကိုငြင်းပယ်ပါ。');
}
အတည်ပြုပြီးနောက်ပုံရိပ်ကိုတင်ထားသည်။
$im = @imagecreatefromgd2($gd2File);
if (!$im) {
die('ပုံအရင်းအမြစ်များကို ဖန်တီး. မရပါ,ဖိုင်သည်အကျင့်ပျက်ခြစားမှုသို့မဟုတ်မမှန်ကန်ကြောင်းပုံစံဖြစ်နိုင်သည်。');
}
နမူနာကုဒ်သည်၎င်းကို PNG အဖြစ်သိမ်းဆည်းသည်။
$outputPath = 'converted/output.png';
imagepng($im, $outputPath);
imagedestroy($im);
echo 'ပုံကိုအောင်မြင်စွာပြောင်းလဲပြီးသိမ်းဆည်းထားပြီးဖြစ်သည်: ' . htmlspecialchars($outputPath);
Upload ကန့်သတ်ချက် - PHPP.INI ကိုတင် ပါ ။
Try-Catch ကိုသုံးပါ (မည်သည့် extension ကိုမဆို actter လျှင်) ကို အသုံးပြုပါ။
သစ်ထုတ်လုပ်ခြင်း - ပုံကိုမဖွင့်ရန်ငြင်းဆန်ပါကပြ troubl နာဖြေရှင်းရန်လွယ်ကူချောမွေ့စေရန်သင့်တော်သောမှတ်တမ်းများကိုမှတ်တမ်းတင်ရန်အကြံပြုသည်။