Statement on glibc/iconv Vulnerability

ZipArchive::replaceFile

(PHP >= 8.0.0, PECL zip >= 1.18.0)

ZipArchive::replaceFileRemplace un fichier d'une archive ZIP

Description

public ZipArchive::replaceFile(
    string $filepath,
    int $index,
    int $start = 0,
    int $length = ZipArchive::LENGTH_TO_END,
    int $flags = 0
): bool

Remplace un fichier d'une archive ZIP avec un fichier donné.

Note: Pour une portabilité maximale, il est recommandé de toujours utiliser des barres obliques (/) comme séparateur de dossier dans les noms de fichiers zip.

Liste de paramètres

filepath

Le chemin vers le fichier à ajouter.

index

L'index du fichier à remplacer ; son nom restera inchangé.

start

Pour une copie partielle, la position de départ.

length

Pour copie partielle, longeur à copier, Si ZipArchive::LENGTH_TO_END (0) est spécifié, la taille du fichier est utilisée. Si ZipArchive::LENGTH_UNCHECKED est spécifié, la totalité du fichier est utilisée (à partir de start).

flags

Un masque composé d'une des constantes suivantes : ZipArchive::FL_ENC_GUESS, ZipArchive::FL_ENC_UTF_8, ZipArchive::FL_ENC_CP437, ZipArchive::FL_OPEN_FILE_NOW. Le comportement de ces constantes est décrit sur la page des constantes ZIP.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Historique

Version Description
8.3.0 / 1.22.1 ZipArchive::FL_OPEN_FILE_NOW a été ajouté.
8.3.0 / 1.22.2 ZipArchive::LENGTH_TO_END et ZipArchive::LENGTH_UNCHECKED ont été ajoutés.

Exemples

Cet exemple ouvre un fichier archive ZIP test.zip et remplace l'index 1 par /path/to/index.txt.

Exemple #1 Ouvre et remplace

<?php
$zip
= new ZipArchive;
if (
$zip->open('test.zip') === TRUE) {
$zip->replaceFile('/path/to/index.txt', 1);
$zip->close();
echo
'ok';
} else {
echo
'échec';
}
?>

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top