Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
Append In-Memory Data to Existing Zip w/out Rewriting Entire ZipDemonstrates how to use the QuickAppend method to append in-memory data (string or byte array) to an existing .zip archive. This method works by editing the existing .zip -- it does not rewrite or recompress the contents of the existing .zip. It is the fastest way to append additional files or data to a pre-existing large .zip archive. Note: The QuickAppend method is new and available in the pre-release downloads, or in official releases dated after 6-October-2007.
use chilkat(); $zip = new chilkat::CkZip(); # Any string unlocks the component for the 1st 30-days. $success = $zip->UnlockComponent("Anything for 30-day trial"); if ($success != 1) { print $zip->lastErrorText() . "\n"; exit; } # The NewZip method only initializes the Zip object -- it does # not create or write a .zip file. $success = $zip->NewZip("notUsed.zip"); if ($success != 1) { print $zip->lastErrorText() . "\n"; exit; } $inZipFilename = "something.txt"; $strData = "abcdefghijklmnopqrstuvwxyz1234567890"; $strCharset = "iso-8859-1"; # Append a string as a file to the existing zip object. # Please read the notes about strCharset below. $zip->AppendString2($inZipFilename,$strData,$strCharset); # Note: The AppendString method is identical to AppendString2, # except the strCharset argument is omitted and it is assumed # you desire the ANSI charset. # Note: You may append a byte array (or Variant containing # a byte array for ActiveX users) by calling AppendData. # Appends the contents of this zip object to the preExisting.zip # zip archive. preExisting.zip is opened, and the files # referenced by this zip object are streamed in, compressed, # and appended to the end of the archive. $success = $zip->QuickAppend("preExisting.zip"); if ($success != 1) { print $zip->lastErrorText() . "\n"; exit; } print "Success!" . "\n"; # Note about strCharset: # string variables in many programming language are Unicode. # It is likely that you don't want to create .zip that contains # a text file that will unzip to Unicode characters (2 bytes/char). # The strCharset argument allows you to specify the exact # charset to use. When the string is added to the .zip, it # is first converted to this charset. English strings # may use "us-ascii". Western-European languages typically # use "iso-8859-1" or "windows-1252". Japanese might choose # between "shift_jis", "iso-2022-jp", "euc-jp", etc. # Chilkat supports all major character encodings. # You may always use "ansi" or "utf-8". # Note: Additional files, directory trees, or in-memory data # can be appended by calling AppendOneFileOrDir, AppendFiles, # AppendString, AppendData, etc. multiple times. # Whatever files and/or in-memory data that are referenced by # this zip object will be appended to preExisting.zip when # QuickAppend is called. |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.