လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Zip ဖိုင်တစ်ခုစီတွင်စာဖတ်ခြင်းနှင့်ဖြည်ခြင်းများကိုအကောင်အထည်ဖော်ရန် PHP_READ () function ကိုအသုံးပြုနည်း။

Zip ဖိုင်တစ်ခုစီတွင်စာဖတ်ခြင်းနှင့်ဖြည်ခြင်းများကိုအကောင်အထည်ဖော်ရန် PHP_READ () function ကိုအသုံးပြုနည်း။

M66 2025-06-23

PHP တွင် zip compressed files များကိုကိုင်တွယ်ခြင်းသည်ဘုံလုပ်ငန်းတစ်ခုဖြစ်သည်။ PHP ၏ Zip exten ကျယ်ပြန့်မှုသည် zip_read () သည်ဇစ်ဖိုင်များတွင်အသုံးပြုသောသော့ချက်များကိုအသုံးပြုသောသော့ဖိုင်များကို manipulate လုပ်ရန် APIs အပြည့်အဝသတ်မှတ်ထားသည်။ ဤဆောင်းပါးတွင် Zip_read () function ကို အသုံးပြု. zip file တစ်ခုစီကိုဖတ်ရန်နှင့် Extract လုပ်ရန်နှင့် Extract လုပ်ရန်ပုံကိုပြသသည်။

1 ။ သဘာဝပတ်ဝန်းကျင်ပြင်ဆင်မှု

သင်မစတင်မီသင်၏ PHP ပတ် 0 န်းကျင်သည် zip extension ကိုသေချာအောင်လုပ်ပါ။ ၎င်းကိုဖွင့်ထားရှိမရှိစစ်ဆေးနိုင်သည်။

 <?php
phpinfo();
?>

စာမျက်နှာပေါ်ရှိ ဇစ် ကိုရှာပါ, အကယ်. တည်ရှိပါက၎င်းကိုဖွင့်ထားသည်။ သင်၏ operating system အရတိုးချဲ့ခြင်းကို install လုပ်ပါ။

2 ။ အခြေခံဖြစ်စဉ်ကိုခြုံငုံသုံးသပ်ချက်

Zip_read () ကို အသုံးပြုခြင်း၏အခြေခံအဆင့်များသည်အောက်ပါအတိုင်းဖြစ်သည် -

  1. Zip_OPEN () ကိုဖွင့်ရန် Zip_open () ကိုသုံးပါ။

  2. zip_read () entry တစ်ခုချင်းစီကိုဖြတ်သန်းရန်သုံးပါ။

  3. zip_entry_name () entry name ကိုရယူရန်။

  4. zip_entry_open () နှင့် zip_entry_read () zip_entry_read () ကိုသုံးပါ။

  5. optional: ထုတ်ယူခြင်းစစ်ဆင်ရေးလုပ်ဆောင်ရန်ဖတ်ရန်အကြောင်းအရာကိုဖိုင်သို့ရေးပါ။

3 ။ နမူနာကုဒ်ခွဲခြမ်းစိတ်ဖြာ

ဤနေရာတွင် Zip ဖိုင်ရှိဖိုင်တစ်ခုစီကိုစာဖတ်ခြင်းနှင့်ထုတ်ယူခြင်း၏ပြည့်စုံသောဥပမာတစ်ခုမှာသတ်မှတ်ထားသောလမ်းညွှန်တစ်ခုမှတစ်ခုစီကိုဖတ်ရှုခြင်းနှင့်ထုတ်ယူခြင်း၏ပြည့်စုံသောဥပမာတစ်ခုဖြစ်သည်။

 <?php

$zipFile = 'archive.zip'; // ဖိုင်သည်လက်ရှိလမ်းညွှန်တွင်ရှိသည်ဟုယူဆပါ
$extractTo = 'extracted_files/';

// ပစ်မှတ် directory တည်ရှိသေချာပါစေ
if (!is_dir($extractTo)) {
    mkdir($extractTo, 0755, true);
}

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

if (is_resource($zip)) {
    while ($zipEntry = zip_read($zip)) {
        $entryName = zip_entry_name($zipEntry);
        $entryPath = $extractTo . $entryName;

        // directory entries တွေကိုလျစ်လျူရှု,仅处理စာချုပ်စာတမ်း
        if (substr($entryName, -1) === '/') {
            continue;
        }

        // 尝试ဖွင့်လှစ်条目
        if (zip_entry_open($zip, $zipEntry, "r")) {
            $entryContent = zip_entry_read($zipEntry, zip_entry_filesize($zipEntry));

            // directory ဖွဲ့စည်းပုံရှိကြောင်းသေချာပါစေ
            $dir = dirname($entryPath);
            if (!is_dir($dir)) {
                mkdir($dir, 0755, true);
            }

            // 写入到စာချုပ်စာတမ်း
            file_put_contents($entryPath, $entryContent);

            // မလုပ်မနေရမဟုတ်သော:输出当前处理的စာချုပ်စာတမ်း
            echo "已提取စာချုပ်စာတမ်း: $entryName<br>";
            zip_entry_close($zipEntry);
        }
    }
    zip_close($zip);
    echo "ZIP စာချုပ်စာတမ်း处理完成。";
} else {
    echo "无法ဖွင့်လှစ် ZIP စာချုပ်စာတမ်း。";
}
?>

4 ။ မှတ်စုများ

  • Zip_read () တစ်ချိန်တည်းတွင် 0 င်ရောက်မှုတစ်ခုကိုဖတ်ပြီး entries တွေကိုဖတ်ရန်ကွင်းဆက်တွင်အကြိမ်ပေါင်းများစွာခေါ်ဆိုရန်လိုအပ်သည်။

  • full content ကိုဖတ်ရန်ဖိုင်အရွယ်အစားကိုရယူရန် Zip_entry_Filesize () ကို သုံးပါ။

  • zip_entry_open () ကို သုံးရန် entry တစ်ခု၏ contents များကိုဖတ်ရန်သင်အသုံးပြုရမည်။

  • Zip ဖိုင်တွင်လမ်းညွှန်များစွာရှိလျှင် directory တည်ဆောက်ပုံကိုထုတ်ယူခြင်းမပြုမီတည်ရှိပါ။

5 ။ လျှောက်လွှာဇာတ်လမ်းတစ်ပုဒ်၏ဥပမာ

  1. Decompression Package ကိုတင်ပြီးနောက် server-server-server-server ကိုအလိုအလျောက် decompress ပြုလုပ်ပါ

  2. Batch Image processing : အသုံးပြုသူမှတင်ထားသော zip file ရှိဓါတ်ပုံများကို unzip လုပ်ပြီးနောက်ဆက်တွဲအပြောင်းအလဲအတွက် / uploads / directory တွင်သိမ်းထားပါ။

  3. Content backup နှင့် restore : System သည် data backup ကိုအလိုအလျောက်ထုပ်ပိုးပြီး file-by-file ထုတ်ယူခြင်းနှင့်ပြန်လည်ထူထောင်ရေးကိုထောက်ပံ့သည်။

6 ။ တိုးချဲ့ဖတ်ရှုခြင်း