PHP 5.4.33 Released

ZipArchive::addFromString

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

ZipArchive::addFromStringAjoute un fichier à une archive ZIP en utilisant son contenu

Description

bool ZipArchive::addFromString ( string $localname , string $contents )

Ajoute un fichier à une archive ZIP en utilisant son contenu.

Liste de paramètres

localname

Le nom de l'entrée à créer

contents

Le contenu à utiliser pour créer l'entrée. Ceci est utilisé dans un mode binaire sécurisé.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Ajout d'une entrée dans une nouvelle archive

<?php
$zip 
= new ZipArchive;
$res $zip->open('test.zip'ZipArchive::CREATE);
if (
$res === TRUE) {
    
$zip->addFromString('test.txt''contenu du fichier ici');
    
$zip->close();
    echo 
'ok';
} else {
    echo 
'échec';
}
?>

Exemple #2 Ajout d'un fichier dans un dossier d'une archive

<?php
$zip 
= new ZipArchive;
if (
$zip->open('test.zip') === TRUE) {
    
$zip->addFromString('dir/test.txt''contenu du fichier ici');
    
$zip->close();
    echo 
'ok';
} else {
    echo 
'échec';
}
?>
add a note add a note

User Contributed Notes 4 notes

up
3
Jacques Chester
7 years ago
Note that this function overwrites existing files of the same name.
up
2
gbti at ukr dot net
5 years ago
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.
up
1
xslidian at lidian dot info
1 year ago
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.
up
0
calebcjh
4 years ago
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
To Top