خواندن zip (zip_read)
می خواهی توی فایل ZIP قدم به قدم جلو بروی؟ تابع zip_read() هر بار «ورودی بعدی (Next Entry)» را می دهد. «ورودی (Entry)» یعنی یک فایل داخل آرشیو؛ مثل برگه های یک پوشه در مدرسه.
تعریف کوتاه و رفتار بازگشت
zip_read() روی یک آرشیو باز، ورودی بعدی را می خواند. اگر ورودی بود، یک دسته منبع می دهد. اگر ورودی تمام شد یا خطا بود، FALSE می دهد.
سینتکس
zip_read($zip);
نمونه پایه: بازکردن، خواندن، بستن
در این نمونه، یک ZIP باز می شود، یک ورودی خوانده می شود، سپس ZIP بسته می شود.
<?php
$zip = zip_open("test.zip");
zip_read($zip);
// اینجا کدهای خودت را قرار بده
zip_close($zip);
?>
الگوی رایج حلقه
معمولاً در یک حلقه می چرخیم و تا پایان ورودی ها می خوانیم. پایان که رسید، FALSE برمی گردد.
<?php
$zip = zip_open("test.zip");
if ($zip !== false) {
while (($entry = zip_read($zip)) !== false) {
// اینجا می توانی اطلاعات این ورودی را استفاده کنی
}
zip_close($zip);
} else {
echo "نتوانستم ZIP را باز کنم.";
}
?>
گام های عملی
- با zip_open() آرشیو را باز کن.
- با
zip_read()ورودی بعدی را بگیر. - اگر
FALSEشد، یعنی تمام شده است. - در پایان، با
zip_close()ببند.
نکته کاربردی
نکته: خروجی zip_read() را می شود با توابع zip_entry_* استفاده کرد؛ مثلاً نام ورودی یا محتوا. برای ادامه کار، سر بزن به بازکردن مدخل و نام مدخل.
جمع بندی سریع
zip_read()ورودی بعدی ZIP را می دهد.- پایان ورودی ها یعنی
FALSE. - در حلقه استفاده کن تا همه را بخوانی.
- بعد از کار، آرشیو را ببند.