လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> zip_entry_ChressEsize ကိုဘယ်လိုသုံးရမလဲ။ zip_read function ကို compressed ဖိုင်များဖတ်ရှုခြင်းအတွက်လက်တွေ့ကျသောအချက်များ

zip_entry_ChressEsize ကိုဘယ်လိုသုံးရမလဲ။ zip_read function ကို compressed ဖိုင်များဖတ်ရှုခြင်းအတွက်လက်တွေ့ကျသောအချက်များ

M66 2025-06-26

Zip compressed files များလုပ်ဆောင်သည့်အခါ PHP သည်အလွန်အဆင်ပြေသော functional interfaces များကိုထောက်ပံ့ပေးသည်။ Zip_entry_ChressEsize () သည် compressed file ထဲတွင် developer များ (compressed data size) ကိုဖတ်ရန်ကူညီနိုင်သည့်လုပ်ဆောင်ချက်များထဲမှတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည် compressed files များနှင့်ဆက်စပ်သော compressed information များ၏အကြောင်းအရာကိုထိထိရောက်ရောက်ဖတ်ရှုရန်ပုံကိုသရုပ်ပြရန် zip_read () function ကိုပေါင်းစပ်ပါလိမ့်မည်။

1 ။ zip_entry_compressedsize () ကဘာလဲ။

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 အရေအတွက်ကိုရယူရန်ဖြစ်သည်။

2 ။ zip_read နှင့်အသုံးပြုရန်အတွက်ဥပမာများကိုပြီးပြည့်စုံသောဥပမာများ

အောက်ပါကုဒ်ကို 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 () : ဖိုင်အကြောင်းအရာကိုဖတ်ပါ။

3 ။ အသုံးပြုမှုအခြေအနေများဥပမာ

1 ။ compression အချိုးအစားကိုပြသရန်

ချုံ့ခြင်းမပြုမီနှင့်အပြီးအရွယ်အစားကိုချုံ့ခြင်းဖြင့် 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";

2 ။ File filtering နှင့်ခွဲခြား

compression size အရ,

 if (zip_entry_compressedsize($zip_entry) > 1024 * 100) {
    echo "这是一个大စာချုပ်စာတမ်း,compression ပြီးနောက်သာ။ ကြီးမြတ် 100KB。\n";
}

4 ။ အမှန်တကယ်ကိစ္စ - Remote Zip ဖိုင်တွင်အကြောင်းအရာကိုဖတ်ပါ

အကယ် . ဇစ်ဖိုင်သည် 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);
}

5 ။ မှတ်စုဖို့အရာ

  • ဤလုပ်ငန်းသည် PHP ဗားရှင်းဟောင်းများတွင်လိုက်ဖက်သည့်ပြ problems နာများရှိသည်။ Zip_ * စီးရီးလုပ်ဆောင်ချက်များကိုအစားထိုးရန် PHP 7 အထက်ရှိ Ziparchive class ကိုသုံးရန်အကြံပြုသည်

  • entries တွေကိုပါ 0 င်သည့် compressed packages များကိုပြုပြင်သည့်အခါအရင်းအမြစ်ယိုစိမ့်မှုသို့မဟုတ်ဆာဗာပျက်ကျမှုကိုရှောင်ရှားရန်မှတ်ဉာဏ်စီမံခန့်ခွဲမှုနှင့်အမှားကိုင်တွယ်မှုကိုပြုလုပ်ရန်အကြံပြုပါသည်။

6 ။ နိဂုံးချုပ်

Zip_entry_ChressEsize () နှင့် zip_read) ပေါင်းစပ်ခြင်းဖြင့် developer များသည် log ခွဲခြမ်းစိတ်ဖြာခြင်း, ဝေးလံခေါင်သီသော packaction, ဤအခြေခံကိရိယာများကိုကျွမ်းကျင်စေခြင်းကသင့်အား PHP ဖိုင်အမျိုးအစားကိုပိုမိုကျွမ်းကျင်စေလိမ့်မည်။