ZipArchive::addFromString
(No version information available, might be only in CVS)
ZipArchive::addFromString — Add a file to a ZIP archive using its contents
Описание
bool ZipArchive::addFromString
( string $localname
, string $contents
)
Add a file to a ZIP archive using its contents.
Список параметров
- 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.
Возвращаемые значения
Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
Примеры
Пример #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';
}
?>
Пример #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';
}
?>
Коментарии
I was having problems with special chars in UTF-8 encoded file names. I found, that the Zip spec seems to specify IBM437 as valid encoding.
Doing:
<?php
//...
$filename = 'exämple.ext';
$encodedFilename = iconv('utf-8', 'IBM437', $filename);
$zip->addFromString($encodedFilename, 'foo');
//...
?>
fixed those problems for me.