Zip compressed files များလုပ်ဆောင်သည့်အခါ PHP သည်အလွန်အဆင်ပြေသော functional interfaces များကိုထောက်ပံ့ပေးသည်။ Zip_entry_ChressEsize () သည် compressed file ထဲတွင် developer များ (compressed data size) ကိုဖတ်ရန်ကူညီနိုင်သည့်လုပ်ဆောင်ချက်များထဲမှတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည် compressed files များနှင့်ဆက်စပ်သော compressed information များ၏အကြောင်းအရာကိုထိထိရောက်ရောက်ဖတ်ရှုရန်ပုံကိုသရုပ်ပြရန် zip_read () function ကိုပေါင်းစပ်ပါလိမ့်မည်။
Zip_entry_ChressEsize () သည် zip ဖိုင်တစ်ခုတွင်တစ်ခုတည်း entry တစ်ခု၏ compressed အရွယ်အစားကိုရရှိရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည် zip_read () ကို parameter အဖြစ်ပြန်ပို့လိုက်သောအရင်းအမြစ်လက်ကိုင်သည် parameter အဖြစ်ပြန်ပို့ပြီး compressed compressed entry ကို (bytes) ကိုပြန်လည်ပေးအပ်သည်။
function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
int zip_entry_compressedsize(resource $zip_entry)
ဤလုပ်ဆောင်မှုကိုပုံမှန်အသုံးပြုခြင်းသည် compressed file entries တွေကိုဖြတ်ပြီး compressed file entries တွေကိုမှတစ်ဆင့်ပြောင်းရွှေ့သွားသောအခါဖိုင်တစ်ခုစီ၏ compressed bytes အရေအတွက်ကိုရယူရန်ဖြစ်သည်။
အောက်ပါကုဒ်ကို zip ဖိုင်တစ်ခုကိုမည်သို့ဖွင့်ရမည်ကိုပြသရန်ဥပမာတစ်ခုအနေဖြင့်အသုံးပြုကြပါစို့။
$zipPath = '/path/to/example.zip';
$zip = zip_open($zipPath);
if (is_resource($zip)) {
while ($zip_entry = zip_read($zip)) {
echo "ဖိုင်နာမည်: " . zip_entry_name($zip_entry) . "\n";
echo "အရွယ်အစားအရွယ်အစား: " . zip_entry_compressedsize($zip_entry) . " ဒရယ်\n";
echo "မူရင်းအရွယ်အစား: " . zip_entry_filesize($zip_entry) . " ဒရယ်\n";
if (zip_entry_open($zip, $zip_entry)) {
$contents = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
// အကြောင်းအရာကိုဤနေရာတွင်ပြုလုပ်နိုင်သည်,ဥပမာအားဖြင့်သိမ်းဆည်းခြင်းသို့မဟုတ်ခွဲခြမ်းစိတ်ဖြာပါ
zip_entry_close($zip_entry);
}
echo "-----------------------------\n";
}
zip_close($zip);
} else {
echo "ဖွင့်လို့မရဘူး ZIP စာချုပ်စာတမ်း。\n";
}
zip_open () : zip ဖိုင်ကိုဖွင့်ပါ။
zip_read () - ဇစ်မှနောက် entry ကို (i.E. , ဖိုင်သို့မဟုတ်လမ်းညွှန်) ကိုဖတ်ပါ။
zip_entry_compressedsize () : compressed အရွယ်အစားကိုရရှိသည်။
zip_entry_filesize () : entry ၏မူလအရွယ်အစားကိုရရှိသည်။
zip_entry_open () နှင့် zip_entry_read () : ဖိုင်အကြောင်းအရာကိုဖတ်ပါ။
ချုံ့ခြင်းမပြုမီနှင့်အပြီးအရွယ်အစားကိုချုံ့ခြင်းဖြင့် compression နှုန်းကိုတွက်ချက်နိုင်သည်။
$compressed = zip_entry_compressedsize($zip_entry);
$original = zip_entry_filesize($zip_entry);
$rate = $original > 0 ? round(($compressed / $original) * 100, 2) : 0;
echo "compression နှုန်း: $rate%\n";
compression size အရ,
if (zip_entry_compressedsize($zip_entry) > 1024 * 100) {
echo "这是一个大စာချုပ်စာတမ်း,compression ပြီးနောက်သာ။ ကြီးမြတ် 100KB。\n";
}
အကယ် . ဇစ်ဖိုင်သည် https://m66.net/files/files/archive.zip ကဲ့သို့သောဝေးလံခေါင်သီသောဝေးလံခေါင်ဖျားမှဖြစ်သည်။
$tempFile = tempnam(sys_get_temp_dir(), 'zip');
file_put_contents($tempFile, file_get_contents('https://m66.net/files/archive.zip'));
$zip = zip_open($tempFile);
if (is_resource($zip)) {
// အောက်ပါယုတ္တိဗေဒသည်အထက်တွင်ရှိသည်
zip_close($zip);
unlink($tempFile);
}
ဤလုပ်ငန်းသည် PHP ဗားရှင်းဟောင်းများတွင်လိုက်ဖက်သည့်ပြ problems နာများရှိသည်။ Zip_ * စီးရီးလုပ်ဆောင်ချက်များကိုအစားထိုးရန် PHP 7 အထက်ရှိ Ziparchive class ကိုသုံးရန်အကြံပြုသည် ။
entries တွေကိုပါ 0 င်သည့် compressed packages များကိုပြုပြင်သည့်အခါအရင်းအမြစ်ယိုစိမ့်မှုသို့မဟုတ်ဆာဗာပျက်ကျမှုကိုရှောင်ရှားရန်မှတ်ဉာဏ်စီမံခန့်ခွဲမှုနှင့်အမှားကိုင်တွယ်မှုကိုပြုလုပ်ရန်အကြံပြုပါသည်။
Zip_entry_ChressEsize () နှင့် zip_read) ပေါင်းစပ်ခြင်းဖြင့် developer များသည် log ခွဲခြမ်းစိတ်ဖြာခြင်း, ဝေးလံခေါင်သီသော packaction, ဤအခြေခံကိရိယာများကိုကျွမ်းကျင်စေခြင်းကသင့်အား PHP ဖိုင်အမျိုးအစားကိုပိုမိုကျွမ်းကျင်စေလိမ့်မည်။