PHP တွင် zip compressed files များကိုကိုင်တွယ်ခြင်းသည်ဘုံလုပ်ငန်းတစ်ခုဖြစ်သည်။ PHP ၏ Zip exten ကျယ်ပြန့်မှုသည် zip_read () သည်ဇစ်ဖိုင်များတွင်အသုံးပြုသောသော့ချက်များကိုအသုံးပြုသောသော့ဖိုင်များကို manipulate လုပ်ရန် APIs အပြည့်အဝသတ်မှတ်ထားသည်။ ဤဆောင်းပါးတွင် Zip_read () function ကို အသုံးပြု. zip file တစ်ခုစီကိုဖတ်ရန်နှင့် Extract လုပ်ရန်နှင့် Extract လုပ်ရန်ပုံကိုပြသသည်။
သင်မစတင်မီသင်၏ PHP ပတ် 0 န်းကျင်သည် zip extension ကိုသေချာအောင်လုပ်ပါ။ ၎င်းကိုဖွင့်ထားရှိမရှိစစ်ဆေးနိုင်သည်။
<?php
phpinfo();
?>
စာမျက်နှာပေါ်ရှိ ဇစ် ကိုရှာပါ, အကယ်. တည်ရှိပါက၎င်းကိုဖွင့်ထားသည်။ သင်၏ operating system အရတိုးချဲ့ခြင်းကို install လုပ်ပါ။
Zip_read () ကို အသုံးပြုခြင်း၏အခြေခံအဆင့်များသည်အောက်ပါအတိုင်းဖြစ်သည် -
Zip_OPEN () ကိုဖွင့်ရန် Zip_open () ကိုသုံးပါ။
zip_read () entry တစ်ခုချင်းစီကိုဖြတ်သန်းရန်သုံးပါ။
zip_entry_name () entry name ကိုရယူရန်။
zip_entry_open () နှင့် zip_entry_read () zip_entry_read () ကိုသုံးပါ။
optional: ထုတ်ယူခြင်းစစ်ဆင်ရေးလုပ်ဆောင်ရန်ဖတ်ရန်အကြောင်းအရာကိုဖိုင်သို့ရေးပါ။
ဤနေရာတွင် 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 စာချုပ်စာတမ်း。";
}
?>
Zip_read () တစ်ချိန်တည်းတွင် 0 င်ရောက်မှုတစ်ခုကိုဖတ်ပြီး entries တွေကိုဖတ်ရန်ကွင်းဆက်တွင်အကြိမ်ပေါင်းများစွာခေါ်ဆိုရန်လိုအပ်သည်။
full content ကိုဖတ်ရန်ဖိုင်အရွယ်အစားကိုရယူရန် Zip_entry_Filesize () ကို သုံးပါ။
zip_entry_open () ကို သုံးရန် entry တစ်ခု၏ contents များကိုဖတ်ရန်သင်အသုံးပြုရမည်။
Zip ဖိုင်တွင်လမ်းညွှန်များစွာရှိလျှင် directory တည်ဆောက်ပုံကိုထုတ်ယူခြင်းမပြုမီတည်ရှိပါ။
Decompression Package ကိုတင်ပြီးနောက် server-server-server-server ကိုအလိုအလျောက် decompress ပြုလုပ်ပါ ။
Batch Image processing : အသုံးပြုသူမှတင်ထားသော zip file ရှိဓါတ်ပုံများကို unzip လုပ်ပြီးနောက်ဆက်တွဲအပြောင်းအလဲအတွက် / uploads / directory တွင်သိမ်းထားပါ။
Content backup နှင့် restore : System သည် data backup ကိုအလိုအလျောက်ထုပ်ပိုးပြီး file-by-file ထုတ်ယူခြင်းနှင့်ပြန်လည်ထူထောင်ရေးကိုထောက်ပံ့သည်။