wireZipFile() function

Create a ZIP file from given files

This is procedural version of the $files->zip() method. See that method for all options.

Usage

// basic usage
$array = wireZipFile(string $zipfile, $files);

// usage with all arguments
$array = wireZipFile(string $zipfile, $files, array $options = array);

Arguments

NameType(s)Description
zipfilestring

Full path and filename to create or update (i.e. /path/to/myfile.zip)

filesarray, string

Array of files to add (full path and filename), or directory (string) to add. If given a directory, it will recursively add everything in that directory.

options (optional)array

Options modify default behavior:

  • allowHidden (bool|array): allow hidden files? May be boolean, or array of hidden files (basenames) you allow. (default=false) Note that if you actually specify a hidden file in your $files argument, then that overrides this.
  • allowEmptyDirs (bool): allow empty directories in the ZIP file? (default=true)
  • overwrite (bool): Replaces ZIP file if already present (rather than adding to it) (default=false)
  • exclude (array): Files or directories to exclude
  • dir (string): Directory name to prepend to added files in the ZIP

Return value

array

Returns associative array of:

  • files (array): all files that were added
  • errors (array): files that failed to add, if any

Exceptions

Method can throw exceptions on error:

  • WireException - Original ZIP file creation error conditions result in WireException being thrown.

See Also


Functions methods and properties

API reference based on ProcessWire core version 3.0.137

Twitter updates

  • ProcessWire 3.0.146 on the dev branch contains about 22 commits with a combination of useful upgrades and issue report resolutions, more details in this forum post: More
    22 November 2019
  • ProcessWire 3.0.144 and 3.0.145 add improved field template context override settings and include a new Inputfields API, along with numerous other issue fixes, optimizations and improvements to the core. More
    8 November 2019
  • ProcessWire 3.0.144 core updates: Upgraded overrides section in the field editor, a new Inputfields JS API, and more— More
    1 November 2019

Latest news

  • ProcessWire Weekly #291
    In the 291st issue of ProcessWire Weekly we're going to take a closer look at the latest core updates, check out a brand new third party module called ProcessHelpVideos, and introduce a new site of the week. Read on!
    Weekly.pw / 8 December 2019
  • New User Activity module
    Blog / 29 November 2019
  • Subscribe to weekly ProcessWire news

“We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like superbude.de. ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH