Note that this function overwrites existing files of the same name.ZipArchive::addFromString
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
ZipArchive::addFromString
Референца за `ziparchive.addfromstring.php` со подобрена типографија и навигација.
ZipArchive::addFromString
(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)
ZipArchive::addFromString — Додај датотека во ZIP архива користејќи ја нејзината содржина
= NULL
$name, string $content, int $flags = ZipArchive::FL_OVERWRITE): boolДодај датотека во ZIP архива користејќи ја нејзината содржина.
Забелешка: За максимална преносливост, се препорачува секогаш да се користат коси црти (/) како разделувач на директориуми во имињата на ZIP датотеките.
/Име на записот што треба да се креира.
Параметри
name-
Содржината што треба да се користи за креирање на записот. Се користи во бинарно безбеден режим.
content-
ZIP константи
flags-
Поставете ја максималната длабочина. Мора да биде поголема од нула.
ZipArchive::FL_OVERWRITE,ZipArchive::FL_ENC_GUESS,ZipArchive::FL_ENC_UTF_8,ZipArchive::FL_ENC_CP437. Однесувањето на овие константи е опишано на 8.0.0, PECL zip 1.18.0 page.
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.
Дневник на промени
| Верзија | = NULL |
|---|---|
| Пример #1 Додавање запис во нова архива |
flags беше додадено.
|
Примери
Пример #2 Додавање датотека во директориум внатре во архива
<?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';
}
?>Жак Честер
<?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';
}
?>Белешки од корисници Управување со PDO конекции
ZipArchive::FL_ENC_GUESS, ZipArchive::FL_ENC_UTF_8, and ZipArchive::FL_ENC_CP437 affect the $name parameter, not $contentif 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.in case your string contain Arabic char, ZipArchive::addFromString will show it in wrong format char.
in this case you have to change your string coding from Unicode to Windows-1256 code
$filetxt = iconv('utf-8','CP1256',$filetxt);
$zip = new ZipArchive;
$zipFName = "Tmp.zip";
if ($zip->open($zipFName, ZipArchive::CREATE) === TRUE)
{
$zip->addFromString($fileName . '.csv', $filetxt);
$zip->close();
}On PHP >5.4, This function will usually create any subfolders inside the ZIP archive.
For instance:
$zip->addFromString ( 'path/to/file.txt' , $data );
will create the folders "path/", and "path/to/" in addition to placing the newly created file "file.txt" in "path/to/" folder.Although numFiles will change after overwriting a file, it will be back normal when you ZipArchive::close() and open() it again.
NULL indexes don't persist either. Only the new order is kept. So feel free to overwrite.
Here overwriting works the same as deleting and adding. So it's not necessary to ZipArchive::deleteName() first.