နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်သိုလှောင်မှုနေရာနှင့်ဂီယာ bandwidth ကိုသိမ်းဆည်းရန်ဇစ်ချုံ့ထားသောဖိုင်များကိုမကြာခဏအသုံးပြုသည်။ ချုံ့ခြင်းစွမ်းဆောင်ရည်ကိုအကဲဖြတ်ရန် Compressed Package တွင်ဖိုင်တစ်ခုစီ၏ compression နှုန်းကိုနားလည်ရန်အထူးအရေးကြီးသည်။ PHP သည်အစွမ်းထက်သော Ziparchive class ကိုထောက်ပံ့ပေးပြီး၎င်းကိုကျွန်ုပ်တို့အလွယ်တကူရရှိနိုင်သည်။
ပထမ ဦး စွာ Ziparchive ဥပမာတစ်ခုကိုဖန်တီးရန်နှင့် zip file ကိုဖွင့်ရန်လိုအပ်သည်။
$zip = new ZipArchive;
$zipFile = 'path/to/archive.zip';
if ($zip->open($zipFile) === true) {
// နောက်ဆက်တွဲ compression နှုန်းခွဲခြမ်းစိတ်ဖြာယုတ္တိဗေဒ
} else {
echo 'ဖွင့်လို့မရဘူးZIPစာချုပ်စာတမ်း';
}
Zip ဖိုင်ကိုဖွင့်ပြီးနောက်၎င်းသည်ဖိုင်တစ်ခုစီကို ဖြတ်. ဖိုင်တစ်ခုစီကို ဖြတ်. compression နှုန်းကိုတွက်ချက်နိုင်သည်။
$totalSizeBefore = 0;
$totalSizeAfter = 0;
for ($i = 0; $i < $zip->numFiles; $i++) {
$fileName = $zip->getNameIndex($i);
$stat = $zip->statIndex($i);
$sizeBefore = $stat['size'];
$sizeAfter = $stat['comp_size'];
$totalSizeBefore += $sizeBefore;
$totalSizeAfter += $sizeAfter;
$compressionRate = ($sizeBefore - $sizeAfter) / $sizeBefore * 100;
echo "စာချုပ်စာတမ်း名:{$fileName}<br/>";
echo "ချုံ့မတိုင်မီအရွယ်အစား:{$sizeBefore} bytes<br/>";
echo "အရွယ်အစားအရွယ်အစား:{$sizeAfter} bytes<br/>";
echo "compression နှုန်း:{$compressionRate}%<br/>";
echo "<br/>";
}
$averageCompressionRate = ($totalSizeBefore - $totalSizeAfter) / $totalSizeBefore * 100 / $zip->numFiles;
echo "总ချုံ့မတိုင်မီအရွယ်အစား:{$totalSizeBefore} bytes<br/>";
echo "总အရွယ်အစားအရွယ်အစား:{$totalSizeAfter} bytes<br/>";
echo "平均compression နှုန်း:{$averageCompressionRate}%<br/>";
$zip->close();
အထက်ဖော်ပြပါကုဒ်များတွင်ဖိုင်များအားလုံး၏ချုံ့ခြင်းမတိုင်မီနှင့်အပြီးတဖြည်းဖြည်းတိုးပွားလာသောအရွယ်အစားကိုကိုယ်စားပြုသောစုစုပေါင်း variable များကို $ totalsizeBefore နှင့် $ totalsizet နှစ်ခုကိုထိန်းသိမ်းထားသည်။ traversal လုပ်ငန်းစဉ်အတွင်းဖိုင်တစ်ခုစီ၏ compressionation နှုန်းကိုတွက်ချက်ပြီးအဆုံးတွင်ပျမ်းမျှ compression အကျိုးသက်ရောက်မှုကိုအဆုံးတွင်ရရှိထားသည်။
ဤနည်းလမ်းသည်လက်ရှိ zip file contents များကိုခွဲခြမ်းစိတ်ဖြာရန်သင့်လျော်ကြောင်းသတိပြုသင့်သည်။ ZIP ကိုထုတ်လုပ်သည့်အခါ compression နှုန်းကိုအချိန်မှန်ရလိုပါက File_get_contents မှတစ်ဆင့်ဖိုင်အကြောင်းအရာများကိုပထမ ဦး ဆုံးဖတ်ရှုနိုင်ပြီး compression ိပက်ခထိရောက်မှုကိုခန့်မှန်းရန် Gzcompress နှင့် compression ကိုဖန်တီးနိုင်သည်။
PHP နှင့်အတူ Ziparchive class ကိုသုံးပါ။ ၎င်းသည် compression algorithms ၏စွမ်းဆောင်ရည်ကိုအကဲဖြတ်ရာတွင်အလွန်အထောက်အကူပြုသည်။ သင်၏စီမံကိန်းတွင်ဤလိုအပ်ချက်ရှိပါက၎င်းကိုအကောင်အထည်ဖော်ရန်အထက်ပါနည်းလမ်းကိုသင်ကြည့်ရှုနိုင်သည်။