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

ZIP ကဲ့သို့သော compressed files များကိုဖတ်ရန် File_Get_controntese ကိုမည်သို့အသုံးပြုရမည်နည်း။ ဖြစ်နိုင်ခြေနှင့်နည်းလမ်းခွဲခြမ်းစိတ်ဖြာ

gitbox 2025-08-11

File_get_Contents () အလုပ်လုပ်သည်

File_get_Contents () သည်ရိုးရှင်းသောဖိုင်ဖတ်ခြင်း function တစ်ခုဖြစ်သည်။ ၎င်း၏အခြေခံလုပ်ဆောင်ချက်သည်ဖိုင်တစ်ခုလုံး၏ contents များကိုဖတ်ပြီးပြန်ပို့ရန်ဖြစ်သည်။ ၎င်းကိုစာသားဖိုင်များကိုဖတ်ရန်အသုံးပြုလေ့ရှိပြီးသေးငယ်သော binary files များအတွက်လည်းအလွန်သင့်လျော်သည်။ သို့သော်ကြီးမားသောဖိုင်များ (သို့) compressed files များအတွက်ဤလုပ်ဆောင်မှု၏ထိရောက်မှုနှင့်သက်ဆိုင်မှုသည်အကန့်အသတ်ရှိနိုင်သည်။

PHP တွင် File_Get_Contents () ဖိုင်ကိုမှတ်ဉာဏ်ထဲသို့တိုက်ရိုက်ဖွင့်လိမ့်မည်။ ထို့ကြောင့်ဖိုင်သည်ကြီးမားသည့်အခါမှတ်ဥာဏ်အသုံးပြုခြင်းသည်မြင့်မားလိမ့်မည်။ ၎င်းသည်မှတ်ဥာဏ်လျှံယိုယွင်းစေနိုင်သည်။ compressed files များအတွက် File_Get_contents () သည်၎င်း၏ binary data များကိုဖတ်ရှုနိုင်ရန်နှင့်၎င်းတွင်ပါ 0 င်သောအရာများကိုတိုက်ရိုက်မလိုက်နာနိုင်ပါ။


zip ဖိုင်များကိုတိုက်ရိုက်ဖတ်ခြင်း၏စိန်ခေါ်မှု

ZIP ဖိုင်သည်မရှိမဖြစ်လိုအပ်သောဖိုင်များသို့မဟုတ်လမ်းညွှန်မျိုးစုံပါ 0 င်သော binary format ဖြင့် compressed file တစ်ခုရှိသည်။ File_Get_contents () compressed file တစ်ခုလုံး၏မူလ binary data များကိုဖတ်သည်။ ဆိုလိုသည်မှာကျွန်ုပ်တို့သည် Zip file ကိုတိုက်ရိုက်ဖတ်ပါက,

ထို့ကြောင့်ကျွန်ုပ်တို့သည် ZIP ဖိုင်မှဖိုင်တစ်ခု၏ contents များကိုထုတ်ယူလိုပါက File_get_Contents () သည် ဤလုပ်ငန်းကိုတိုက်ရိုက်မဖြည့်ဆည်းနိုင်ပါ။ ဖိုင်များကိုဖတ်ရှုနိုင်ရန်အတွက်ဇစ်ဖိုင်၏ contents ကို decompress လုပ်ရန်လိုအပ်သည်။


ဖြေရှင်းချက် - PHP ကိုအသုံးပြုပြီး zip extension ကို

File_get_Contents () သည် Zip file ရှိတိကျသောအကြောင်းအရာများကိုတိုက်ရိုက်မဖတ်နိုင်ပါက PHP ၏ built-in Ziparchive class ကိုသုံးနိုင်သည်။ ဤအတန်းသည်ကျွန်ုပ်တို့အား ZIP ဖိုင်များကိုဖွင့်ရန်, ဖတ်ရန်နှင့် decomppress လုပ်ရန်ခွင့်ပြုသည်။ အောက်ပါသည်ဇစ်ဖိုင်၏ contents ကိုဖတ်ရန် Ziparchive ကို အသုံးပြုခြင်း၏ဥပမာတစ်ခုဖြစ်သည်။

နမူနာကုဒ်:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$zipFile</span></span><span> = </span><span><span class="hljs-string">'example.zip'</span></span><span>;  </span><span><span class="hljs-comment">// ZIP ဖိုင်လမ်းကြောင်း</span></span><span>
</span><span><span class="hljs-variable">$zip</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">ZipArchive</span></span><span>;

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$zip</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">open</span></span><span>(</span><span><span class="hljs-variable">$zipFile</span></span><span>) === </span><span><span class="hljs-literal">TRUE</span></span><span>) {
    </span><span><span class="hljs-comment">// ရယူ ZIP ဖိုင်တွင်ပထမဆုံးဖိုင်အမည်</span></span><span>
    </span><span><span class="hljs-variable">$fileName</span></span><span> = </span><span><span class="hljs-variable">$zip</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">getNameIndex</span></span><span>(</span><span><span class="hljs-number">0</span></span><span>);  </span><span><span class="hljs-comment">// ရယူ第一个စာချုပ်စာတမ်း的名称</span></span><span>

    </span><span><span class="hljs-comment">// ဖိုင်၏ contents ကိုဖတ်ပါ</span></span><span>
    </span><span><span class="hljs-variable">$fileContent</span></span><span> = </span><span><span class="hljs-variable">$zip</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">getFromName</span></span><span>(</span><span><span class="hljs-variable">$fileName</span></span><span>);

    </span><span><span class="hljs-comment">// output ဖိုင်အကြောင်းအရာ</span></span><span>
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$fileContent</span></span><span>;

    </span><span><span class="hljs-comment">// ရုပ်သိမ်းခြင်း ZIP စာချုပ်စာတမ်း</span></span><span>
    </span><span><span class="hljs-variable">$zip</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'ဖွင့်လို့မရဘူး ZIP စာချုပ်စာတမ်း!'</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ဒီဥပမာမှာ Zip file ကိုဖွင့်ဖို့ Ziparchive Class ကို ဦး စွာသုံးပြီး zip file ထဲမှာပထမဆုံးဖိုင်ရဲ့ contents တွေကိုဖတ်ဖို့ GetFromname () နည်းလမ်းကိုသုံးပါ။ ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည် compressed file တစ်ခုလုံး၏ binary data များကိုတိုက်ရိုက်ဖတ်မည့်အစား compressed package ထဲတွင်ဖိုင်များကိုအလွယ်တကူဖြည်ချနိုင်သည်။


file_get_contros () ကို ဇတ်စ်ဖာ ဖြင့်သုံးပါ

File_get_Contents () သည် Zip file ကို decompress မလုပ်နိုင်သော်လည်း Zip file ၏မူလ binary content ကိုဖတ်ရန်နှင့် decompression အတွက် Ziparchive class သို့သွားရန် File_get_Contents () ကို သုံးနိုင်သည်။ ဤနည်းအားဖြင့် File_get_Contents () ဖိုင်ကိုဖတ်ရှုခြင်းအတွက်လိုအပ်ချက်ဖြစ်လာသည်

နမူနာကုဒ်:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$zipFile</span></span><span> = </span><span><span class="hljs-string">'example.zip'</span></span><span>;  </span><span><span class="hljs-comment">// ZIP ဖိုင်လမ်းကြောင်း</span></span><span>

</span><span><span class="hljs-comment">// ဖတ် ZIP စာချုပ်စာတမ်း的原始内容</span></span><span>
</span><span><span class="hljs-variable">$zipData</span></span><span> = </span><span><span class="hljs-title function_ invoke__">file_get_contents</span></span><span>(</span><span><span class="hljs-variable">$zipFile</span></span><span>);

</span><span><span class="hljs-comment">// 将ဖတ်到的二进制数据传递给 ZipArchive ဒော့ှ့ခြင်း</span></span><span>
</span><span><span class="hljs-variable">$zip</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">ZipArchive</span></span><span>;
</span><span><span class="hljs-variable">$tmpFile</span></span><span> = </span><span><span class="hljs-title function_ invoke__">tempnam</span></span><span>(</span><span><span class="hljs-title function_ invoke__">sys_get_temp_dir</span></span><span>(), </span><span><span class="hljs-string">'zip'</span></span><span>);  </span><span><span class="hljs-comment">// 创建一个临时စာချုပ်စာတမ်း</span></span><span>

</span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-variable">$tmpFile</span></span><span>, </span><span><span class="hljs-variable">$zipData</span></span><span>);  </span><span><span class="hljs-comment">// 将ဖတ်的二进制数据写入临时စာချုပ်စာတမ်း</span></span><span>

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$zip</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">open</span></span><span>(</span><span><span class="hljs-variable">$tmpFile</span></span><span>) === </span><span><span class="hljs-literal">TRUE</span></span><span>) {
    </span><span><span class="hljs-comment">// ရယူ ZIP ဖိုင်တွင်ပထမဆုံးဖိုင်အမည်</span></span><span>
    </span><span><span class="hljs-variable">$fileName</span></span><span> = </span><span><span class="hljs-variable">$zip</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">getNameIndex</span></span><span>(</span><span><span class="hljs-number">0</span></span><span>);  </span><span><span class="hljs-comment">// ရယူ第一个စာချုပ်စာတမ်း的名称</span></span><span>

    </span><span><span class="hljs-comment">// ဖိုင်၏ contents ကိုဖတ်ပါ</span></span><span>
    </span><span><span class="hljs-variable">$fileContent</span></span><span> = </span><span><span class="hljs-variable">$zip</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">getFromName</span></span><span>(</span><span><span class="hljs-variable">$fileName</span></span><span>);

    </span><span><span class="hljs-comment">// output ဖိုင်အကြောင်းအရာ</span></span><span>
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$fileContent</span></span><span>;

    </span><span><span class="hljs-comment">// ရုပ်သိမ်းခြင်း ZIP စာချုပ်စာတမ်း</span></span><span>
    </span><span><span class="hljs-variable">$zip</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">close</span></span><span>();

    </span><span><span class="hljs-comment">// 删除临时စာချုပ်စာတမ်း</span></span><span>
    </span><span><span class="hljs-title function_ invoke__">unlink</span></span><span>(</span><span><span class="hljs-variable">$tmpFile</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'ဖွင့်လို့မရဘူး ZIP စာချုပ်စာတမ်း!'</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ဤဥပမာတွင် File_Get_contents () မှတဆင့် Zip file ၏ binary data ကို ဦး စွာဖတ်ရှုပြီးဒေတာကိုယာယီဖိုင်သို့ရေးပါ။ ထို့နောက်ကျွန်ုပ်တို့သည်ဇယ်ရှိုင်းဖိုင်ကိုဖွင့ ်. ziparchive class ကို အသုံးပြု. ၎င်းထဲရှိအကြောင်းအရာများကိုဖတ်ရန်။ ဤနည်းအားဖြင့် File_get_Contents () သည်ကုန်ကြမ်းအချက်အလက်များကိုဖတ်ရှုရန်ကိရိယာတစ်ခုဖြစ်လာပြီး decompression စစ်ဆင်ရေးကိုပြီးစီးရန်အတွက် ဇိမ်ကောင်အထိ လွှဲပြောင်းပေးဆဲဖြစ်သည်။