ZipArchive
在线手册:中文 英文
PHP手册

ZipArchive::addFromString

(PHP 5 >= 5.2.0, PECL zip >= 1.1.0)

ZipArchive::addFromStringAdd 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.

范例

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';
}
?>

ZipArchive
在线手册:中文 英文
PHP手册
PHP手册 - N: Add a file to a ZIP archive using its contents

用户评论:

calebcjh (19-May-2010 08:54)

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

gbti at ukr dot net (16-Nov-2008 06: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 (31-Jan-2007 05:10)

Note that this function overwrites existing files of the same name.