PHP ကို အသုံးပြု. Zip_read () ကို Zip_read () ကိုအသုံးပြုသောအခါ zip_read () သည် compressed files များရှိ entries များကိုဖတ်သည့်အသုံးများသော function တစ်ခုဖြစ်သည်။ သို့သော်လက်တွေ့ကျသောအပလီကေးရှင်းများ၌ developer များစွာသည်ဤလုပ်ဆောင်မှုကိုကွင်းထဲ၌အသုံးပြုသောအခါအမှားအယွင်းများကိုပြလေ့ရှိသည်။ zip_read () ဖိုင်အားလုံးကို compressed package တစ်ခုရှိဖိုင်များကိုဖတ်ရန် zip_read () ကို မည်သို့မှန်ကန်စွာအသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။
PHP သည် Zip_open () , zip_read () နှင့် zip_entry_Read ကဲ့သို့သော Zip file operations နှင့်ဆက်စပ်သောလုပ်ဆောင်ချက်များကိုထောက်ပံ့ပေးသည်။ zip_read () သည် open zip file အရင်းအမြစ်မှ entries များကိုအလှည့်ဖြစ်စေရန်အသုံးပြုသည်။
compressed file contents တွေကိုဖတ်ရှုခြင်းအတွက်ပုံမှန်ကုဒ်ဖွဲ့စည်းပုံမှာအောက်ပါအတိုင်းဖြစ်သည် -
<code> $ zip = zip_open ("ဥပမာဥပမာ"); အကယ်. (is_resource ($ zip)) {is_resource ($ roip_read (zip_read ($ zip)) {echo "အမည်: zip_entry_name ($ entry ကို) ။ "\ n"; if (zip_entry_open ($ zip, $ entry ကို "R")) {$ contents zip_entry_Read ($ rom_entry_read ($ entry ကို zip_entry_filesize); ECHO "Contents:" $ မာတိကာ။ "\ n"; zip_entry_close_close ($ entry ကို); }} zip_close ($ zip); } အခြား echo "zip ဖိုင်ကိုဖွင့်လို့မရဘူး", } </ code>အထက်ဖော်ပြပါကုဒ်များတွင် Zip_open () သည် compressed package ကိုဖွင့်ပြီး zip_read () zip_read () သည် 0 င ်ရောက်မှုမရှိတော့သည်အထိတစ် ဦး ချင်းစီအားစာဖတ်ခြင်းကိုဖတ်သည်။
zip_read () ကို စဉ်ဆက်မပြတ်ကွင်းဆက်ကိုခေါ်ခြင်းမရှိပါ
အချို့ developer တချို့က သူတို့အားလုံးချက်ချင်းဖတ်နိုင်တယ်, zip_read ()) သည်အရာအားလုံးကိုမှန်ကန်စွာပြုလုပ်ရန်အတွက် ကွင်းဆက် တွင်နေရာချထားရမည်။
entry ကိုသို့မဟုတ် zip ဖိုင်ကိုမပိတ်ပါ
zip_entry_close_Close () နှင့် zip_close () ကိုခေါ်ရန်မေ့နေနိုင်သည်။
compressed packages များရှိဖိုင်များ၏ encoding encoding encoding encoding ပြ issues နာများ
Zip ဖိုင်တွင် UTF-8 encoded file name non non-8 encoded file name တွင်ပါ 0 င်ပါက zip_entry_name () ကို conbled code ကိုပြသရန်ဖြစ်စေနိုင်သည်။ MB_ConVert_encoding () ကို transcoding သို့သုံးနိုင်သည်။
<Code> $ filename = mb_convert_encoding (zip_convertry_name ($ entry), "Utf-8", CP936 ") ။ </ code>ကျွန်ုပ်တို့တွင်တင်ထားသော zip file တစ်ခုရှိသည်ဆိုပါစို့။ ဖိုင်များကို local uploads / directory သို့ decompress လုပ်ချင်သည်ဆိုပါစို့။
<Code> $ zip_open (zip_open ($ _ ဖိုင် ['file'] ['tmp_name']); အကယ်. (is_resource ($ zip)) {is_resource ($ right_read ($ zip_read ($ zip)) {$ zip_entry_name ($ rip_entry_name ($ entry); $ save_path = "uploads /" "။ Basename ($ အမည်); if (zip_entry_open($zip, $entry, "r")) {
$contents = zip_entry_read($entry, zip_entry_filesize($entry));
file_put_contents($save_path, $contents);
zip_entry_close($entry);
}
}
zip_close($zip);
echo "decompression ပြည့်စုံသည်";
} အခြား
ECHO "တင်ထားသောဖိုင်ကိုဖွင့ ်. မရပါ";
}
</ code>
အွန်လိုင်းတွင်နေရာချထားသည့်အခါလမ်းကြောင်း, ခွင့်ပြုချက်များကိုအတည်ပြုရန်နှင့်လမ်းကြောင်းဖြတ်သန်းခြင်း (လမ်းညွှန်လမ်းကြောင်း) တိုက်ခိုက်မှုများကိုကာကွယ်ရန်လုံခြုံစွာကိုင်တွယ်ရန်သတိရပါ။
zip_read () ery entry ကိုမှန်ကန်စွာပြန်ပို့လျှင်သင်မသေချာပါက Debug ထုတ်ပြန်ချက်ကိုသင်ထည့်နိုင်သည်။
<code> var_dump ($ entry ကို); </ code>ထို့အပြင်ခွဲခြမ်းစိတ်ဖြာသောအကြောင်းအရာကိုအတည်ပြုရန်ဖိုင်အမည်ကိုသင်ပုံနှိပ်နိုင်သည် -
<Code> ပဲ့တင်သံ "ဖတ်နေဖိုင် -" ။ zip_entry_name ($ entry ကို) ။ "\ n"; </ code>PHP တွင် Zip ဖိုင်များ () ကိုအသုံးပြုပြီး Zip ဖိုင်များကိုဖတ်သည့်အခါအောက်ပါအချက်များကိုဂရုပြုရန်သေချာပါစေ။
အသုံးပြု နေစဉ် ($ entry = zip_read ($ zip)) loop;
zip_entry_open () နှင့် zip_entry_close_Close () ကိုသုံးပါ။
နောက်ဆုံးအနေနဲ့ zip_close () အရင်းအမြစ်ကိုပိတ်ဖို့ခေါ်ပါ။
အမည် encoding နှင့် directory လုံခြုံရေးပြ issues နာများကို file ကိုအာရုံစိုက်ပါ။