လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> [PHP သည် Ziparchive ကို compressed packages များဖြင့်ကြည့်ရှုရန် Ziparchive ကိုအသုံးပြုသည်]

[PHP သည် Ziparchive ကို compressed packages များဖြင့်ကြည့်ရှုရန် Ziparchive ကိုအသုံးပြုသည်]

M66 2025-06-22

PHP ရှိ compressed package တစ်ခုစီ၏ compression နှုန်းကိုကြည့်ရန် Ziparechive ကိုမည်သို့အသုံးပြုရမည်နည်း

နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်သိုလှောင်မှုနေရာနှင့်ဂီယာ bandwidth ကိုသိမ်းဆည်းရန်ဇစ်ချုံ့ထားသောဖိုင်များကိုမကြာခဏအသုံးပြုသည်။ ချုံ့ခြင်းစွမ်းဆောင်ရည်ကိုအကဲဖြတ်ရန် Compressed Package တွင်ဖိုင်တစ်ခုစီ၏ compression နှုန်းကိုနားလည်ရန်အထူးအရေးကြီးသည်။ PHP သည်အစွမ်းထက်သော Ziparchive class ကိုထောက်ပံ့ပေးပြီး၎င်းကိုကျွန်ုပ်တို့အလွယ်တကူရရှိနိုင်သည်။

Zip file ကိုဖွင့်ပြီး Ziparchive အရာဝတ်ထုကိုစတင်ပါ

ပထမ ဦး စွာ Ziparchive ဥပမာတစ်ခုကိုဖန်တီးရန်နှင့် zip file ကိုဖွင့်ရန်လိုအပ်သည်။

 
$zip = new ZipArchive;
$zipFile = 'path/to/archive.zip';

if ($zip->open($zipFile) === true) {
    // နောက်ဆက်တွဲ compression နှုန်းခွဲခြမ်းစိတ်ဖြာယုတ္တိဗေဒ
} else {
    echo 'ဖွင့်လို့မရဘူးZIPစာချုပ်စာတမ်း';
}

ဇစ်ရှိဖိုင်များမှတစ်ဆင့်ဖိုင်များကို ဖြတ်. compression နှုန်းကိုတွက်ချက်ပါ

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 ၏စွမ်းဆောင်ရည်ကိုအကဲဖြတ်ရာတွင်အလွန်အထောက်အကူပြုသည်။ သင်၏စီမံကိန်းတွင်ဤလိုအပ်ချက်ရှိပါက၎င်းကိုအကောင်အထည်ဖော်ရန်အထက်ပါနည်းလမ်းကိုသင်ကြည့်ရှုနိုင်သည်။