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

Replace/Update a FIle in a .zip

See more Zip Examples

Demonstrates how to replace/update a file from a .zip. Note: This requires the entire .zip to be rewritten.

Chilkat PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

//  This requires the Chilkat Zip API to have been previously unlocked.
//  See Unlock Chilkat Zip for sample code.

//  First prepare a .zip and write it..
$zip = new COM("Chilkat.Zip");

$zip->NewZip('qa_output/abc.zip');

//  Add some files..
$charset = 'utf-8';
$zip->AddString('a.txt','aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',$charset);
$zip->AddString('b.txt','bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',$charset);
$zip->AddString('c.txt','cccccccccccccccccccccccccccccccccccc',$charset);

//  Write to qa_output/abc.zip
//  This .zip contains three files: a.txt, b.txt, and c.txt
$success = $zip->WriteZipAndClose();

//  -------------------------------------------------------------------
//  Open abc.zip, replace the content of the "b.txt" entry with something else, and re-write.
$zip2 = new COM("Chilkat.Zip");
$zip2->OpenZip('qa_output/abc.zip');

$entry = new COM("Chilkat.ZipEntry");
if ($zip2->EntryOf('b.txt',$entry) == 1) {
    $entry->ReplaceString('This is the new content.  bbbbbbbbbbbbbbbbbbbbbb','utf-8');
}

//  Write the modified .zip back to "abc.zip"
$success = $zip2->WriteZipAndClose();

print 'success.' . "\n";

?>