var2zip is a PHP class for creating simple Zip archives in RAM.
- PHP 8.0+
- ZLIB extension (optional)
- Maximum entry size is 4 GiB
- Directories are not supported
Create a new instance:
$var2zip = new \xenocrat\var2zip();Add an entry read from disk:
$file = file_get_contents("README.md");
$var2zip->add("README.md", $file);Add an entry with last-modified timestamp:
$modified = strtotime("1982-09-09T20:19:11Z");
$var2zip->add("hello.txt", "Hello, world!", $modified);Export the Zip archive and write to disk:
$zip = $var2zip->export();
file_put_contents("archive.zip", $zip);public var2zip::add(
string $name,
string $contents
int $modified = null
): intAdds a file entry to the archive.
-
name
The file name as a UTF-8 encoded string not exceeding 65535 bytes.
-
contents
A complete file as a string of data not exceeding 4294967295 bytes.
-
modified
A unix timestamp representing the last-modified time of the file.
Returns an integer representing the total number of entries in the archive.
public var2zip::export(
int $compression_level = -1
): string|falseExports the file entries to Zip archive.
-
compression_level
The compression level, from 0 (none) to 9 (maximum). Defaults to 6.
Returns a complete Zip archive as a string of data, or false if there are no file entries to export.