လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> zip_open () + zip_read () + zip_entry_Read () + zip_entry_read ()

zip_open () + zip_read () + zip_entry_Read () + zip_entry_read ()

M66 2025-06-06

PHP တွင် Zip files များ၏လုပ်ဆောင်ချက်များကို zip_open () , zip_read () နှင့် zip_entry_read () နှင့် zip_entry_read () ကို အသုံးပြု. ကိုင်တွယ်သည်။ သူတို့ကကျွန်တော်တို့ကို zip file တစ်ခုဖွင့်လှစ်ရန်ခွင့်ပြုသည်, ဖိုင်တွဲတစ်ခုမှတဆင့်ကြားဖြတ်နှင့်ဖိုင်အကြောင်းအရာများကိုဖတ်ပါ။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်ချက်သုံးခုကိုမည်သို့အသုံးပြုရမည်ကိုရှင်းပြရန်ဥပမာအပြည့်အစုံကို အသုံးပြု. zip file တစ်ခုကိုဖတ်ရန်။


1 ။ နိဒါန်း

  • Zip_open ($ fileName)
    ZIP ဖိုင်တစ်ခုကိုဖွင့်ပြီးအရင်းအမြစ်လက်ကိုင်ကိုပြန်ပို့ပါ။

  • zip_read ($ zip)
    Zip file ရှိနောက်စာရင်းကိုဖတ်ပြီး zip entry entry ကိုအရင်းအမြစ်တစ်ခုပြန်ပို့ပါ။

  • zip_entry_read ($ entry ကို $ right)
    Zip Entry ရှိ contents များကိုဖတ်ပြီးသတ်မှတ်ထားသော bytes အများဆုံးအရေအတွက်ကိုဖတ်ပါ။

  • zip_entry_name ($ entry ကို)
    လက်ရှိ zip entry ကို၏ဖိုင်အမည်ရရှိသွားတဲ့။

  • zip_close ($ zip)
    ZIP ဖိုင်အရင်းအမြစ်ကိုပိတ်ပါ။


2 ။ နမူနာကုဒ်ကိုဖြည့်ပါ

အောက်ပါဥပမာသည် zip file တစ်ခုကိုဖွင့်ရမည်ကိုပြသသည်။

 <?php
// ZIPဖိုင်လမ်းကြောင်း(ကျေးဇူးပြုပြီးလမ်းကြောင်းမှန်ပေါ်ကိုအစားထိုးပါ)
$zipFile = 'http://m66.net/path/to/your.zip';

// ဖွင့်လှစ်ZIPစာချုပ်စာတမ်း
$zip = zip_open($zipFile);

if (!$zip || is_numeric($zip)) {
    die("无法ဖွင့်လှစ်ZIPစာချုပ်စာတမ်း");
}

echo "<h2>ZIPစာချုပ်စာတမ်း内容列表:</h2>";

while ($entry = zip_read($zip)) {
    // 获取当前စာချုပ်စာတမ်း名
    $fileName = zip_entry_name($entry);
    echo "<h3>စာချုပ်စာတမ်း名: $fileName</h3>";

    // ဖွင့်လှစ်ZIPဝင်သွားခြင်း
    if (zip_entry_open($zip, $entry)) {
        $fileSize = zip_entry_filesize($entry);
        $content = '';

        // 按块读取စာချုပ်စာတမ်း内容(အချိန်တိုင်း1024ဒရယ်)
        while ($data = zip_entry_read($entry, 1024)) {
            $content .= $data;
        }

        // လက်ရှိပိတ်ပါZIPဝင်သွားခြင်း
        zip_entry_close($entry);

        // 输出စာချုပ်စာတမ်း内容(ဤတွင်စာသားထဲမှာရိုးရှင်းတဲ့ output ကိုဖြစ်ပါတယ်,binary data များထည့်သွင်းနိုင်ကြောင်းသတိပြုပါ)
        echo "<pre>" . htmlspecialchars($content) . "</pre>";
    } else {
        echo "无法ဖွင့်လှစ်စာချုပ်စာတမ်းဝင်သွားခြင်း: $fileName<br>";
    }
}

// ရုပ်သိမ်းခြင်းZIPစာချုပ်စာတမ်း
zip_close($zip);
?>

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

  1. Zip_open () သည် local file stats များကိုထောက်ပံ့ပေးပြီး PHP ပေါ် မူတည်. Remote_URL_FOPEN settings ကိုထောက်ပံ့သည်။ ဝေးလံခေါင်သီအဖွင့်ပျက်ကွက်ပါကလုပ်ငန်းလည်ပတ်ခြင်းမပြုမီ zip file ကို download လုပ်ရန်အကြံပြုသည်။

  2. binary files များ၏ပါ 0 င်သောအကြောင်းအရာများကိုဖတ်သည့်အခါတိုက်ရိုက် output သည် barbled code သို့မဟုတ်စာမျက်နှာခြွင်းချက်များဖြစ်ပေါ်စေနိုင်သည်။ လိုအပ်သလိုဒေတာများကိုလုပ်ဆောင်ရန်အကြံပြုသည်။