Sample code for 30+ languages & platforms
Perl Requires Chilkat v11.0.0+

Create a Zip Entirely in Memory

See more Zip Examples

Demonstrates how to create a .zip from in-memory byte data and strings, and to write the .zip to an in-memory image.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

#  This example requires the Chilkat API to have been previously unlocked.
#  See Global Unlock Sample for sample code.

$crypt = chilkat::CkCrypt2->new();
$zip = chilkat::CkZip->new();

$success = $zip->NewZip("test.zip");
if ($success == 0) {
    print $zip->lastErrorText() . "\r\n";
    exit;
}

#  Add the bytes 0x00 0x01 0x02 0x03 ... 0x0F as a file in the .zip
$bd = chilkat::CkBinData->new();
$bd->AppendEncoded("000102030405060708090A0B0C0D0E0F","hex");
$zip->AddBd("binaryData.dat",$bd);

#  Add the string "Hello World!" to the .zip
$zip->AddString("helloWorld.txt","Hello World!","utf-8");

$zipFileInMemory = chilkat::CkByteData->new();
$success = $zip->WriteToMemory($zipFileInMemory);

#  We could save these files to a file, and it is a valid .zip
$fac = chilkat::CkFileAccess->new();
$success = $fac->WriteEntireFile("test.zip",$zipFileInMemory);
if ($success == 0) {
    print $fac->lastErrorText() . "\r\n";
    exit;
}

print "Zip Created!" . "\r\n";