မင်္ဂလာပါ။
နံပါတ် (1) ကတော့ css,javascript တို့ကို minify လုပ်နည်းလေးပါ။စမ်းကြည့်ဖို့ရန် ဒီ Link ကနေ Minifier for css and javascript မှာဝင်ကြည့်ပေးပါ။
နံပါတ် (3) ကတော့ php နဲ့ Image တွေကို file size optimize လုပ်တဲ့အကြောင်းရှင်းပြသွားမှာပါ။
No.2. Enable Compressing For Gzip and Deflate
Apache web server က document တွေကို respond ပြန်ပေးတဲ့အခါ ၊
document တွေကို compress လုပ်ပြီးမှ respond ပြန်ပေးစေဖို့ mod_deflate Module ကိုအသုံးပြုနိုင်ပါတယ်။mod_gzip Module ကိုလည်းအသုံးပြုနိုင်ပါတယ်။ g_zip နဲ့ deflate တို့က text content တွေကို ၇၀% လောက်ထိ သေးကျုံ့သွားအောင် compress လုပ်ပေးနိုင်ပါတယ်။ .htaccess ထဲမှာရေးသားပေးရပါမယ်။
Enable Compressing For Gzip
mod_gzip_on Yesmod_gzip_dechunk Yes mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
Enable Compressing For Deflate
AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript
အပေါ်မှာ သတ်မှတ်ထားသလို ရေးမယ်ဆိုရင် Apache က html, css, javascript, php, xml နဲ့ icon တွေကို အရင်ဆုံး compress လုပ်ပြီးမှ respond ပြန်ပေးပါတယ်
Browser ကနေ Inspect Element ဖွင့်ပြီး Respond header မှာ ကြည့်နိုင်ပါတယ်။ compress လုပ်သွားတာကို တွေ့ပါလိမ့်တယ်။
Respond ကိုလက်ခံရရှိတဲ့ Borwser က compress လုပ်ထားကြောင်း သိရှိပြီး လိုအပ်သလို uncompress ပြုလုပ်ပြီး ဖော်ပြပေးသွားမှာပါ။
client နဲ့ server ကြား ဆက်သွယ်မှု ပိုမို မြန်ဆန်စေလိုပါက အသုံးပြုသင့်တဲ့ Module တစ်ခုဖြစ်ပါတယ်။
mod_expires ကတော့ cache control အတွက်ဖြစ်ပါတယ်။ browser က respond
အဖြစ်ရရှိဖူးတဲ့ အချက်အလက်တွေကို cache လုပ်ထားလေ့ရှိပါတယ်။ အဲ့လို cache
လုပ်လို့ရတဲ့ contentဆို ဘယ်လောက်အချိန်အတိုင်းအတာထိ cache
လုပ်သင့်သလဲဆိုတဲ့ setting ကို သတ်မှတ်စေတဲ့ module တစ်ခုဖြစ်ပါတယ်။ .htaccess ထဲမှာရေးသားပေးရပါမယ်။
<IfModule mod_expires.c"> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType application/javascript "access 1 month" ExpiresByType application/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days" <IfModule">
No.3.Optimize Images
PHP မှာ image optimize လုပ်မယ်ဆိုရင် image ရဲ့ file လမ်းကြောင်းကနေ image ရဲ့ filename ကိုယူမယ်။
imagesize သတ်မှတ်မယ်။file extension ဖြစ်ကြောင်းကြေညာမယ်။
နောက်ပြီး file extension jpeg အတွက်ဆို imagejpeg() ကိုအသုံးပြုပေးပါ။
gif အတွက်ဆိုimagegif() ကိုအသုံးပြုပေးပါ။
pngအတွက်ဆို imagepng() ကိုအသုံးပြုပေးရပါမယ်။
အောက်က code မှာ example လေးနဲ့ပြောပြပေးထားပါတယ်။သတ်မှတ်ရမယ့်နေရာလေးတွေမှာ source image ,compressimage,quality တို့နဲ့ဖော်ပြထားပါတယ်။ File upload တည်ဆောက်ပြီးကူးယူစမ်းသပ်ကြည့်ပါ။
$filename="myimage.jpg"; $img = imagecreatefromjpeg($filename); header("Content-Type: image/jpeg"); imagejpeg($img, $filename, 100);
function compressImage($source_image, $compress_image) { $image_info = getimagesize($source_image); if ($image_info['mime'] == 'image/jpeg') { $source_image = imagecreatefromjpeg($source_image); imagejpeg($source_image, $compress_image, quality); } elseif ($image_info['mime'] == 'image/gif') { $source_image = imagecreatefromgif($source_image); imagegif($source_image, $compress_image, quality); } elseif ($image_info['mime'] == 'image/png') { $source_image = imagecreatefrompng($source_image); imagepng($source_image, $compress_image, quality); } return $compress_image; }
နောက်ထပ်လည်း ကျွန်တော်သိသလောက် လေ့လာဖြစ်တာလေးတွေ Sharing လုပ်ပေးသွားပါ့မယ် ခင်ဗျ။
ဖတ်ရှုပေးတဲ့အတွက်လည်း အားလုံးကို ကျေးဇူးတင်ပါတယ် ခင်ဗျာ။