Although this function displaces files of the same name, in actual fact, the original file is blanked and a new entry is added. The numFiles property is incremented.
Example:
File 1: foo
File 2: bar
$zip->addFromString('foo', 'new foo');
File 1:
File 2: bar
File 3: foo
ZipArchive::addFromString
(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)
ZipArchive::addFromString — Add a file to a ZIP archive using its contents
Description
bool ZipArchive::addFromString
( string
$localname
, string $contents
)Add a file to a ZIP archive using its contents.
Parameters
-
localname -
The name of the entry to create.
-
contents -
The contents to use to create the entry. It is used in a binary safe mode.
Return Values
Returns TRUE on success or FALSE on failure.
Examples
Example #1 Add an entry to a new archive
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
$zip->addFromString('test.txt', 'file content goes here');
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>
Example #2 Add file to a directory inside an archive
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->addFromString('dir/test.txt', 'file content goes here');
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>
calebcjh
19-May-2010 06:54
gbti at ukr dot net
16-Nov-2008 03:01
if you try:
<?php
$zip->open("file", ZipArchive::CREATE);
$zip->addFromString("russian_letters/options.xml");
?>
wrong directory will be created.
if you try:
<?php
$zip->addEmptyDir("russian_letters");
?>
All be fine.
Jacques Chester
30-Jan-2007 02:10
Note that this function overwrites existing files of the same name.
