လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> တူညီသောပုံရိပ်ကိုထပ်ခါတလဲလဲလှန်လှောရှောင်ရှောင်ရှားရန် cache system ကိုသုံးပါ

တူညီသောပုံရိပ်ကိုထပ်ခါတလဲလဲလှန်လှောရှောင်ရှောင်ရှားရန် cache system ကိုသုံးပါ

M66 2025-05-31

Image processing ၏နေ့စဉ်ထုတ်လုပ်မှုတွင်အထူးသဖြင့် PHP ကိုအထူးသဖြင့် zoom, matermark စသည်တို့ကိုရိုက်ကူးရန်အသုံးပြုသောအခါရုပ်ပုံများကိုကျွန်ုပ်တို့မကြာခဏပြုလုပ်လေ့ရှိသည်။ ၎င်းသည်ဆာဗာအရင်းအမြစ်များကိုဖြုန်းတီးရုံသာမကဘဲ Page Loading နှင့်သုံးစွဲသူအတွေ့အကြုံများကိုလည်း ဦး ဆောင်လမ်းပြလိမ့်မည်။

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

1 ။ အဘယ်ကြောင့် flipped ရုပ်ပုံများကို cache ဖို့လိုအပ်သလဲ

ပုံရိပ်ကိုလှန်လိုက်တိုင်း CPU နှင့် Memory အရင်းအမြစ်များကိုယူပါလိမ့်မည်။ အကယ်. တူညီသောပုံကိုအကြိမ်ကြိမ်လှန်ပစ်ရန်တောင်းဆိုပါက (ဥပမာအားဖြင့်အသုံးပြုသူများအနေဖြင့်အသုံးပြုသူများစွာဖြင့်ဝင်ရောက်ကြည့်ရှုခြင်း,

  • မလိုအပ်သောစွမ်းဆောင်ရည်သုံးစွဲမှု

  • တိုးချဲ့တုံ့ပြန်မှုအချိန်

  • ဆာဗာဝန်တိုးလာသည်

cache ကိုမိတ်ဆက်ပြီးနောက်ကျွန်ုပ်တို့ပုံရိပ်ကိုတစ်ကြိမ်လှန်လှောကြည့်ရှုရန်သာလိုအပ်သည်။ ထို့နောက် flip ရလဒ်ကို cache directory သို့သိမ်းဆည်းပါ။ နောက်တစ်ကြိမ် cache သည်တည်ရှိပြီးဖြစ်သည်ကိုကျွန်ုပ်တို့တွေ့ရှိပါက၎င်းကိုတိုက်ရိုက်ဖတ်နိုင်သည်။

2 ။ အကောင်အထည်ဖော်မှုစိတ်ကူးများ

  1. မူရင်းပုံရိပ်လိပ်စာကိုလက်ခံပါ

  2. Cache Path ကိုဖန်တီးပါ။

  3. အဆိုပါ cache တည်ရှိမဟုတ်မဟုတ်စစ်ဆေးပါ

    • တည်ရှိပါက, သိုလှောင်ထားသောပုံရိပ်သည်တိုက်ရိုက်ထုတ်လွှင့်လိမ့်မည်။

    • အကယ်. ၎င်းမတည်ရှိပါကပုံကိုလှန်လိုက်ပါ။ ၎င်းကို cache ကိုသိမ်းထားပါ

  4. output ကိုပုံ

3 ။ PHP အကောင်အထည်ဖော်မှုနမူနာကုဒ်

 <?php

function flipImageWithCache($imageUrl, $flipMode = IMG_FLIP_HORIZONTAL) {
    // ဒိုမိန်းအမည်များကိုကန့်သတ်ပါm66.net
    $parsedUrl = parse_url($imageUrl);
    $host = $parsedUrl['host'] ?? '';
    if ($host !== 'm66.net') {
        die('သာခွင့်ပြုခဲ့သည် m66.net ဒိုမိန်းအမည်များ၏ရုပ်ပုံများ');
    }

    // cache directory
    $cacheDir = __DIR__ . '/cache';
    if (!file_exists($cacheDir)) {
        mkdir($cacheDir, 0755, true);
    }

    // ထူးခြားသော Cache ဖိုင်အမည်ကိုထုတ်လုပ်ပါ
    $hash = md5($imageUrl . $flipMode);
    $cacheFile = $cacheDir . '/' . $hash . '.jpg';

    // အဆိုပါ cache တည်ရှိလျှင်,တိုက်ရိုက် output ကို
    if (file_exists($cacheFile)) {
        header('Content-Type: image/jpeg');
        readfile($cacheFile);
        return;
    }

    // မူရင်းပုံကိုကူးယူပါ
    $originalImage = @imagecreatefromjpeg($imageUrl);
    if (!$originalImage) {
        die('ပုံကို တင်. မရပါ');
    }

    // ပုံကိုလှန်လိုက်ပါ
    imageflip($originalImage, $flipMode);

    // cache ကိုသိမ်းပါ
    imagejpeg($originalImage, $cacheFile);

    // output ကိုပုံ
    header('Content-Type: image/jpeg');
    imagejpeg($originalImage);

    // အရင်းအမြစ်များကိုအခမဲ့
    imagedestroy($originalImage);
}

// နမူနာခေါ်ဆိုမှု
$imageUrl = 'https://m66.net/images/sample.jpg';
flipImageWithCache($imageUrl);

4 ။ အကောင်းမြင်အကြံပြုချက်များ

  • cache သက်တမ်းကုန်ဆုံးမူဝါဒ - disk နေရာလွတ်ကိုရှောင်ရှားရန် cache directory ထဲတွင်သက်တမ်းကုန်သွားသောဖိုင်များကိုပုံမှန်သန့်ရှင်းရေးပြုလုပ်နိုင်သည်။

  • Multiple image formats မျိုးစုံကိုထောက်ပံ့သည် ။ JPEG အပြင် PNG, GIF နှင့်အခြားပုံစံများကိုထောက်ပံ့ရန်တိုးချဲ့နိုင်သည်။

  • Enhanced အမှားကိုင်တွယ်ခြင်း - ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်သစ်ထုတ်လုပ်ရေးနှင့်ခြွင်းချက်ကိုင်တွယ်ခြင်းယန္တရားများထည့်ရန်အကြံပြုသည်။

  • Parameter Security Verification - လုံခြုံရေးအလားအလာရှိတဲ့ပြ problems နာတွေကိုရှောင်ရှားဖို့ URLs နဲ့ parameters တွေကိုတင်းကျပ်စွာစစ်ဆေးရန်အကြံပြုသည်။