![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Perl) Iterate Through ZIP Entries Using EntryAt and ZipEntry.GetNextSee more Zip ExamplesThis example demonstrates how to iterate through all entries in a ZIP archive using:
The example prints each ZIP entry's stored filename and whether the entry is a file or directory. This approach is useful when sequentially processing ZIP entries without repeatedly calling Suppose the ZIP archive contains: The example iterates through each entry in the order stored within the ZIP archive.
use chilkat(); $success = 0; $zip = chilkat::CkZip->new(); # Open an existing ZIP archive. $success = $zip->OpenZip("c:/temp/example.zip"); if ($success == 0) { print $zip->lastErrorText() . "\r\n"; exit; } # A ZIP archive may contain zero entries. if ($zip->get_NumEntries() == 0) { print "The ZIP archive is empty." . "\r\n"; $zip->CloseZip(); exit; } # ------------------------------------------------------------ # Get the first ZIP entry. # # EntryAt(0,entry) initializes the ZipEntry object so that # it represents the first entry in the ZIP archive. # $entry = chilkat::CkZipEntry->new(); $success = $zip->EntryAt(0,$entry); if ($success == 0) { print $zip->lastErrorText() . "\r\n"; exit; } # ------------------------------------------------------------ # Iterate through all ZIP entries. # # GetNext updates the same ZipEntry object so that it # represents the next entry in the ZIP archive. # while (($success == 1)) { if ($entry->get_IsDirectory() == 1) { print "[Directory] " . $entry->fileName() . "\r\n"; } else { print "[File] " . $entry->fileName() . "\r\n"; } # Advance to the next entry. $success = $entry->GetNext(); } $zip->CloseZip(); print "Done." . "\r\n"; |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.