To rename a folder, you must replace the folder name in the path of every file that it contains.
(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0)
ZipArchive::renameIndex — Renames an entry defined by its index
$index
, string $newname
)Renames an entry defined by its index.
index
Index of the entry to rename.
newname
New name.
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
Example #1 Rename one entry
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
$zip->renameIndex(2,'newname.txt');
$zip->close();
} else {
echo 'failed, code:' . $res;
}
?>
To rename a folder, you must replace the folder name in the path of every file that it contains.
I have tried to rename folders inside the zip file using ZipArchive::renameIndex() and ZipArchive::renameName(). Neither was successful. I believe that this is not a bug and wanted to document it.